What I can post automatically, what's partial, what's blocked - plus a tight list of what I still need from you to ship draft-creation for every brand. Nothing publishes without your explicit approval per asset.
Every entry below has working credentials and an existing or new script. All create DRAFTS - none publish live. Each links to its draft surface for your manual review and scheduling.
jay/anchor-essay.md + the rendered blog-cover.png, inserts a new BlogPost entry into artifacts/jay-owen/src/data/blog.ts (file-based blog), copies cover image, and creates a draft/blog-<slug> git branch. NOT pushed - you merge to main when ready, Replit auto-deploys.
scripts/publish/publish_jayowenlive.py · repo: github.com/jayowen/Jay-Owen-Liveblog_articles. Bypasses the Next.js admin auth wrapper entirely — same outcome (row in DB), no admin login needed. Always inserts with is_published=false so the post is invisible to the public site until Jay flips the flag in the admin UI. Schema verified live 2026-05-13: 419 articles, 307 published.
scripts/publish/publish_businessbldrs.py · DB: Neon Postgres (us-west-2)scripts/publish/publish_hubspot_email.py (wraps bb-marketing-ops/scripts/distribute.py)bb-marketing-ops/scripts/distribute.py queue --package <week>/is_published=false so they appear as drafts in Circle admin UI. Supports tiptap_body for rich content.
scripts/publish/publish_circle.py --brand ffl · base: community.futurefocusedevents.comFFL_CIRCLE_API_TOKEN env var before run (it's only in project docs, not in shared .env yet)post-call-workflow/.env. Same draft-only pattern as FFL. Used today by the /post-call workflow.
scripts/publish/publish_circle.py --brand ab · base: community.agencybuilders.commcp__claude_ai_Slack__slack_send_message_draft#jay-engine) - I'll only post drafts there until you say "Send"mcp__claude_ai_Gmail__create_draftThese channels have most of the wiring but need one specific input from you. Listed in priority order by how often you'd use them weekly.
bb-marketing-ops/.env (YOUTUBE_CLIENT_ID, YOUTUBE_CLIENT_SECRET) but not populated. Needs OAuth playground run once to capture a refresh token.
bb-marketing-ops/.envChannels I can't draft to yet. Each is listed with exactly what's needed to unblock.
agencybuilders-redesign) doesn't have a Blog page yet. Pages exist for Home, Webinars, Community, Glossary, Events, etc. but no /blog route.
agencybuilders-redesignbb-marketing-ops/.env · today: via HubSpotdevelopers.tiktok.com Content Posting API · scope: video.uploaddeveloper.x.com Free tier · scope: tweet.writeChannels you explicitly chose not to set up. Listed for completeness so the picture stays honest.
Ranked by impact. Top three would unblock 90% of weekly automation. Anything below #3 is optional polish.
publish_businessbldrs.py that inserts drafts (is_published=false) — bypasses the Next.js admin auth wrapper entirely. Schema verified, dry-run tested. Ready for first live test draft when you say go.
/resources/articles/<slug> → DELETE back to clean. Cover image cross-origins fine. Ready for real publishes in the weekly cycle.
~/Documents/Claude/Projects/Future Focused Leaders Community/circle-api-access.md but isn't in a shared .env. I'd like to put it in jay-content-engine/.env (gitignored) so publish_circle.py picks it up automatically.
Once unblocked, every weekly asset follows the same draft-only path. Nothing posts without your explicit per-asset "Send" / "Y".
All draft-creators live under jay-content-engine/scripts/publish/. Each takes the week folder (or single markdown path) and creates a draft in the destination.
blog_articles with is_published=false. Conflict-guard: skips if slug already exists. Cover image references jay-content-engine.pages.dev/covers/<weekId>/bb.png. Markdown → HTML conversion built in (paragraphs, headings, lists, bold, italic, links).