MasteryMade · Distribution PRD

PRD 8: Content Machine + Syndication

PRD 8 of 12 Depends: PRD 4, 5
Parent: Master Registry v1.0 — Sections 08, 15 · Owner: Lane A + D

8.1 Purpose

End-to-end content production and distribution. Rubric-scored briefs → content in expert's voice → human review → scheduled publish → performance monitoring → re-ingest → rubric refines → next batch better. Dogfooded on MasteryMade first, then templated for every JV.

8.2 Pipeline

Marketing Rubric (PRD 5)
  → Content briefs (what to create, hook, format)
    → Generator (Module 2 voice + Module 4 frameworks)
      → Auto-score (rubric check before human sees it)
        → Review queue (approve / edit / reject)
          → Scheduled publish (autoposter)
            → Performance monitoring
              → Re-ingest metrics (universal ingest)
                → Rubric refinement (loop closes)

8.3 Content Brief Schema

{
  "brief_id":"UUID", "expert_id":"UUID",
  "content_type": "social_post|email|blog|video_script|lead_magnet|ad_copy",
  "platform": "instagram|linkedin|x|youtube|email|nowpage",
  "topic":"", "hook_pattern":"pain_agitation|curiosity_gap|contrarian|story_open",
  "framework_to_use":"Module 4 ref", "target_avatar":"ICP ref from PRD 5",
  "format_spec":{ "max_words":200, "include_cta":true, "visual_needed":true },
  "rubric_target_score": 7.5, "deadline":"2026-03-28",
  "status": "drafted|reviewing|approved|scheduled|published|measured"
}

8.4 Social Autoposter

Schema: scheduled_posts

CREATE TABLE scheduled_posts (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  brief_id UUID, expert_id UUID NOT NULL REFERENCES entities(id),
  platform TEXT NOT NULL, content_text TEXT NOT NULL,
  media_urls TEXT[], scheduled_for TIMESTAMPTZ NOT NULL,
  published_at TIMESTAMPTZ,
  status TEXT DEFAULT 'scheduled' CHECK (status IN ('draft','reviewing','approved','scheduled','published','failed')),
  platform_post_id TEXT, performance JSONB,
  created_at TIMESTAMPTZ DEFAULT now()
);

Platform adapters

PlatformAPIAuthMetrics
LinkedInAPI v2OAuth 2.0Impressions, clicks, reactions, comments, shares
InstagramGraph APIFacebook OAuthReach, impressions, likes, comments, saves, shares
XAPI v2OAuth 2.0Impressions, likes, retweets, replies, bookmarks
YouTubeData APIOAuth 2.0Views, likes, comments, watch time

Approval flow

Generated → auto-scored → if score ≥ target: move to reviewing → Jason reviews in dashboard or Telegram (approve/edit/reject) → approved → scheduled at optimal posting time → published → metrics collection begins.

Optimal posting time

Analyze Gate 4 competitor posting cadence + engagement. Cross-reference with expert's audience active times from platform insights. Schedule in optimal windows.

8.5 Email Sequence Generator

Template per expert: sequence name, trigger, emails with delay, subject template, body template, framework ref, CTA type, viral loop step.

Viral loop rule (standing): Every sequence includes a required engagement step. Email 2-3: "Forward to someone struggling with [pain point]." Workshop: "Teach this framework to a colleague and report." Lead magnet: "This tool works better with a partner — share and compare." Homework = distribution.

8.6 AI Video Pipeline

Content Brief (video_script)
  → Script Generator (expert voice + framework)
    → HeyGen/Synthesia API: avatar video
      → Auto-captions
        → Thumbnail (Canva MCP or template)
          → YouTube upload
            → Auto-cut clips (60s/30s/15s)
              → IG Reels, TikTok, X, Shorts

Avatar: HeyGen custom or stock + ElevenLabs voice clone from expert recordings. Script from content brief + Module 2 voice. Long-form (5-15min) for YouTube, auto-cut social clips.

8.7 Mastery Labs Content Matrix

{
  "content_pillars": [
    { "name":"Core Framework Teaching", "frequency":"2x/week",
      "platforms":["linkedin","youtube"], "format":"long_form",
      "framework_rotation":["A","B","C"], "briefs_per_month":8 },
    { "name":"Quick Tips / Micro-Content", "frequency":"daily",
      "platforms":["instagram","x"], "format":"carousel|short_video",
      "source":"extract micro-insights from long-form", "briefs_per_month":20 },
    { "name":"Social Proof / Case Studies", "frequency":"1x/week",
      "platforms":["all"], "format":"story|testimonial",
      "source":"client results + Module 8", "briefs_per_month":4 },
    { "name":"Lead Magnet Promotion", "frequency":"2x/month",
      "platforms":["linkedin","email"], "format":"value_teaser + link",
      "source":"NowPage playbooks + tools", "briefs_per_month":2 }
  ],
  "promotion_calendar": { "generated_from":"pillars", "scheduling":"auto", "review":"weekly Sunday" }
}

8.8 Performance Feedback Loop

n8n cron every 6h: for each published post (>24h old) → call platform API → update performance JSONB → create content record in universal ingest (source_type='social', gate=3) with engagement metrics → trigger rubric rescoring if significant data → compare predicted vs actual → adjust weights if bias → increment rubric version.

8.9 Acceptance Criteria

MASTERYMADE — PRD 8 of 12

Dominia Facta. Build what compounds.