Engine · System & Cadence

How It Works. When It Runs.

The weekly engine in one place: what happens each day, who triggers what, where data lives, what Claude Code should run on a schedule, and how reminders show up in Slack. Built so anyone can pick up the system without losing the thread.

The weekly cadence

Five-day rhythm. Each day has a primary owner and a small set of must-do steps. Color-coded by who's responsible — Jay (kraft), CM (warn), Automation (ok), Slack reminders (purple).

Monday
Source the anchor
AUTOScheduled job scans last 7 days of Granola + Fathom for sharp moments
SLACK3-5 anchor candidates posted to #jay-engine at 7 AM
JAYPicks an anchor (reply in thread). Or kills + asks for re-scan.
AUTOFolder for the week is scaffolded with source/, jay/, bb/, ab/, ffl/, shared/
Tuesday
Build the anchor
JAYWrites or records the anchor essay (Jay's voice, 60-90 min)
JAYOptional: records the 4-min talking-head video
AUTOAnchor saved to content/<week>/jay/anchor-essay.md
Wednesday
Cascade to 4 brands
AUTOEach brand pivot is drafted (BB, AB, FFL versions)
AUTOBrand carousels render via Remotion (4 brands × 8 slides each = 32 PNGs)
AUTOPortal week page builds with all drafts inline
SLACKNotification: "Week N package ready for review. Portal link →"
Thursday
Verdict each asset
JAYOpens portal, clicks through each brand tab, hits Ship / Light edits / Rework / Kill
AUTO"Ship" verdicts auto-promote status to Approved
CMSees the approved pipeline, prepares to queue posts in HubSpot/Buffer/Circle
Friday → Sunday
Queue + ship
CMSchedules approved assets to their channels per the publish plan
CMHits "Mark queued" in portal as each one goes live
SLACKFriday 5 PM: Weekly metrics digest + Sunday: pre-publish checklist
AUTOSunday evening: FFL members-first drop fires (if approved)

Proposed Claude Code scheduled jobs

Each runs on cron, posts to #jay-engine in Slack (or email fallback), waits for your reply. Set up via Claude Code's /schedule skill — managed routines that wake up an agent on cron, run a tightly-scoped task, and notify when done.

CronMon · 7:00 AM ET
Weekly anchor scan
Scan last 7 days of Granola + Fathom. Surface 3-5 anchor candidates with thesis, source, and brand-pivot sketches. Post to Slack as a single message with a "Pick one" prompt.
scan-anchors --week=<next> --sources=granola,fathom --post=slack
Slack
#jay-engine
CronWed · 9:00 AM ET
Cascade trigger
If yesterday's anchor was approved AND the anchor essay file exists, kick off the 4-brand cascade. Drafts all pivot content + renders carousels for BB/AB/FFL. Builds the portal week page.
cascade-week --anchor=jay/anchor-essay.md --brands=bb,ab,ffl
Slack
"Cascade done → portal link"
CronWed · 4:00 PM ET
Portal review nudge
If <50% of assets have a verdict by Wed afternoon, send a friendly reminder with the count remaining and the portal link.
check-portal-status --warn-if-below=0.5
Slack
DM Jay (only if needed)
CronFri · 5:00 PM ET
Weekly metrics digest
Pull metrics from each shipped channel (LinkedIn impressions, YouTube views, FFL engagement, email opens, BB leads tagged "content"). Post a single Slack summary with the top 3 wins + the top 1 concern.
weekly-metrics --week=<current> --channels=linkedin,youtube,ffl,hubspot
Slack
#jay-engine + DM Jay
CronSun · 8:00 PM ET
Pre-publish checklist
Verify the upcoming week's assets all have approvals + queued status. Confirm FFL members-first drop is ready. Flag anything still in Draft.
preflight-check --week=<next>
Slack
DM Jay
CronDaily · 9:00 AM ET
Status board
One-line Slack message every morning: "Engine status: Week N · X drafts, Y approved, Z queued, W live this week."
status-board --terse
Slack
#jay-engine
CronContinuous
Source watcher
Whenever a new Granola transcript or Fathom recording lands, tag it with auto-extracted themes. Builds a running queue of anchor candidates so Monday's scan isn't starting from scratch.
watch-sources --tag
Slack
(silent — feeds Monday job)

What Slack notifications would look like

Concrete previews so you can decide tone + volume. All go to #jay-engine (or DM Jay for sensitive ones). Email fallback for urgent items if you're off Slack.

Monday 7:00 AM
🎯 Week 03 anchor candidates from last 7 days: 1. "Continually curious is the only AI skill" — Source: MTI AI Task Force, 5/11 2. "The two things only humans can do" — Source: Eleven22 sermon, 5/17 3. "Why I lead two organizations" — Source: book funnel + recent BB call Reply with the number to pick. Reply 'rescan' to try again.
Channel #jay-engine
Wednesday 9:00 AM
✅ Week 03 cascade complete. · 4 brand packages drafted · 32 carousel PNGs rendered · Portal updated Review → jay-content-engine.pages.dev/weeks/2026-06-01-...
Channel #jay-engine
Wednesday 4:00 PM (if needed)
⏰ Friendly nudge — Week 03 has 28 assets, 11 still need verdict. Quickest path: open the portal, hit "Ship" on each card you approve. Auto-status moves to Approved.
DM Jay
Friday 5:00 PM
📊 Week 02 metrics summary Top 3 wins: · LinkedIn post (Jay personal): 14k impressions, 217 reactions, 31 comments · FFL members essay: 89% open rate, 23 thread replies · BB master class: 47 new signups (+62% vs baseline) Concern: · YouTube watch time on 4-min video below target (28% retention vs 50% goal) Full report: jay-content-engine.pages.dev/metrics/week-02
Channel #jay-engine
Sunday 8:00 PM
🛫 Pre-flight check — Week 03 ships starting tonight. Status: · 28/28 assets approved ✅ · FFL Sun drop: APPROVED, queued for 7 PM · Mon LinkedIn post: queued for 7:30 AM · Mon email: queued in HubSpot Anything blocking? Reply here or pop the portal.
DM Jay
Daily 9:00 AM
Engine status · Week 03 Drafts: 0 · Approved: 28 · Queued: 11 · Live: 6 (no action needed — just keeping receipts)
Channel #jay-engine

Whose job is what

Roles + responsibilities so handoffs stay clean.

Jay

Strategy + voice

  • Pick the anchor each Monday
  • Write/record the anchor essay + video (Jay's voice is non-delegable)
  • Verdict every asset in the portal (Thu)
  • Reply to top comments on LinkedIn within 30 min of posting
  • Show up Wednesday afternoons in Architect Live (FFL)
  • Final approval on all messaging shifts (e.g., killing the "contractor" angle)
CM

Polish + scheduling

  • YouTube thumbnail design (per week)
  • Cut 60s vertical from 4-min video (Opus Clip / manual)
  • IG Stories slides from carousel art
  • Schedule all social posts (Buffer or native)
  • Queue HubSpot email sends (Jay-approved)
  • Post community drops to FFL Circle + AB Circle + AB Slack
  • Hit "Mark queued" / "Mark live" in portal for tracking
Automation

Drafts + cascade + reminders

  • Source scans (Granola + Fathom continuous)
  • Anchor candidates posted to Slack every Monday 7 AM
  • Cascade to 4 brand packages on Wed (after Jay's anchor lands)
  • Carousel rendering (32 PNGs/week)
  • Portal page generation with inline markdown
  • HubSpot draft creation (once Phase 3 of automation ships)
  • FFL Circle pinning (once Phase 3 ships)
  • Weekly metrics digest Fri 5 PM
  • Sunday pre-flight check

Where data lives

From source material to live posts, where each piece sits.

01 · Source
Granola + Fathom transcripts
Jay's calls, talks, sermons, workshops. Continuous source. Anchor candidates extracted weekly.
Granola MCP · Fathom MCP
02 · Engine
jay-content-engine repo
Anchor + 4 brand packages + rendered carousels. All in markdown + PNGs. Version-controlled.
Local + GitHub private repo
03 · Portal
jay-content-engine.pages.dev
Auth-gated review UI. Inline markdown. Per-asset verdict + status tracker. Jay approves; CM ships.
Cloudflare Pages
04 · Channels
LinkedIn · YouTube · IG · HubSpot · Circle · Slack · WP
Where the work actually meets the audience. Some channels automated, some manual — see Automation tab.
Per-channel API or manual paste

To stand up the scheduled jobs, here's what we'd need

Same asks as the Automation page, but framed for the "schedule + remind" architecture specifically.

NeedSlack channel + bot
A dedicated Slack channel for engine notifications
Suggested name: #jay-engine in BB Slack (since BB is the existing org). Add an incoming webhook OR a Slack app (cleaner — supports threading + replies). Bot would post candidates / metrics / preflights as messages. Jay replies in-thread to pick anchors.
Slack
~10 min Jay-time
NeedCron host
A place for scheduled jobs to run
Two options: (a) Claude Code's built-in /schedule with managed routines — agent wakes on cron, executes the scoped task, sends the Slack message via the same MCP. Lowest effort, runs in your existing Claude environment. (b) A small GitHub Actions cron in this repo if you'd rather have the schedule version-controlled and visible.
Decision
I recommend (a)
NeedMetrics access
API tokens for the channels we report on
LinkedIn Insights API, YouTube Analytics, HubSpot reports — same OAuth flow as posting. The Friday metrics digest can't really happen without these. We could start with HubSpot only (we have it) and add others as we go.
Phased
Start with HubSpot