Book and product one-time setup, plus repeatable content runs for blog posts and product launches
Book file finalized (PDF + EPUB)
YouUploaded to Amazon KDP
Confirm ASIN is live
YouUploaded to other platforms (Ingram, Gumroad, etc.)
YouPurchase / landing page live and tested
YouWordPress Application Password generated
Users - Profile - Application Passwords - "Content Machine"
YouCredentials saved to .env-content-machine
WP site URL, username, app password, category ID
YouBlog category exists on WordPress
Confirm category slug + ID at /wp-json/wp/v2/categories
YouYoast SEO Premium active on site
YouREST API confirmed live
Visit DavidPerdew.com/wp-json/wp/v2/posts -- should return JSON
YouBook profile created in content machine
Book ID, title, audience, blog URL, category ID, WP credentials
YouKeyword spreadsheet linked (Google Drive connector)
YouHashtag spreadsheet linked (Google Drive connector)
YouSource material (Final Book PDF) accessible to Claude
Set source folder path using the folder bar at the top
YouImage library folder accessible to Claude
Source folder / Promo / Social Media / Promotion Images
YouFollowr account active and platforms connected
YouSimpleClickTracker account active
Used to create one short URL per article run
YouProduct sales / landing page live and tested
YouTracking short URL scheme created in SimpleClickTracker for this product
One slug per content run, e.g. "diet-match-launch"
YouFollowr account active and this product's target platforms connected
YouSource folder / product images accessible to Claude
Set source folder path using the folder bar above
YouImage automation (R2 + Gemini Nano Banana Pro) configured and confirmed working
One-time .env-content-machine setup -- see IMAGE-AUTOMATION-UPDATE.md
YouProduct profile created in content machine
Product ID, name, audience, sales URL, source folder
YouChoose article topic (one sentence)
YouSelect book and fill in Run Details above
YouSet target publish date
YouCreate short URL slug in SimpleClickTracker
Unique slug per article -- e.g. "ss-best-time"
YouCopy prompt above and paste into Cowork to kick off the run
YouClaude sets up run folder and URL reference map
AutoChoose product and confirm the core angle
YouSelect product and fill in Run Details above
YouSet content volume and evergreen rotation window
YouCreate short URL slug in SimpleClickTracker
YouCopy prompt above and paste into Cowork to kick off the run
YouClaude sets up run folder and URL reference map
AutoClaude matches focus keyphrase + 3-5 secondary keywords
AutoBlog article generated (1,000-1,200 words)
SEO title, meta description, slug, alt text -- saved as 01-blog-article.md
AutoBlog header image generated or sourced (1200x628)
AutoArticle published to WordPress as draft
Use "WP Draft Tools" above, or Claude reports the edit link
AutoOpen WordPress draft and read the full article
YouReview header image -- CTA badge size, brand elements, URL
YouRequest any changes if needed (Claude revises before continuing)
BothApprove blog post + header image -- tell Claude to proceed to Phase B
YouClaude reviews the sales page and source material for messaging hooks
Auto8-10 organic marketing angles drafted
Benefit, pain-point, social proof, curiosity, educational tip, behind-the-scenes, comparison, FAQ, urgency -- saved as 00-product-angles.md
AutoEach angle matched to the platform(s) it suits best
AutoOpen 00-product-angles.md and read all angles
YouRequest changes if any angle feels off-brand
BothApprove angles -- tell Claude to proceed to Phase P2
YouSubstack post generated (750 words, unique angle)
Saved as 02-substack-post.md
AutoMedium post generated (750 words, different angle)
Saved as 03-medium-post.md
AutoFacebook / LinkedIn posts generated (5 x 300 words)
AutoInstagram captions generated (10 x 200 words)
AutoX / Threads / Bluesky tweets generated (50 x 280 chars)
AutoPinterest descriptions generated (5 x <475 chars, no hashtags)
AutoFacebook / LinkedIn posts generated (up to 15, rotating angles)
AutoInstagram captions generated (up to 20)
AutoX / Threads / Bluesky posts generated (up to 100, <=280 chars)
AutoPinterest descriptions generated (up to 10, <475 chars, no hashtags)
AutoShort-form video scripts generated (up to 10 -- Reels / TikTok / YouTube Shorts)
AutoEvergreen posting calendar built across the rotation window
Spaced for organic reach; flags top performers for repost after the window closes
AutoFollowr XLSX assembled -- media_urls left blank pending image generation
AutoImage briefs written to 06-image-briefs.json
AutoImages generated via generate_images.py
Header, microblog, Facebook/LinkedIn, Instagram, Pinterest -- footer-stamped with the tracking URL
AutoGATE: review generated images in the run folder -- approve or flag for regenerate
YouImages uploaded and media_urls wired automatically via upload_to_r2.py
AutoUpload completed XLSX to Followr
All posts scheduled across 14 days
YouImage briefs written to 06-image-briefs.json for all product content
AutoImages generated via generate_images.py
Facebook/LinkedIn, Instagram, microblog, Pinterest, plus video cover thumbnails -- footer-stamped with the tracking URL
AutoGATE: review generated images -- approve or flag for regenerate
YouImages uploaded and media_urls wired automatically via upload_to_r2.py
AutoUpload completed XLSX to Followr, scheduled across the full rotation window
YouPublish WordPress draft on target date
Open the draft edit link, click Publish
YouPost Substack article (02-substack-post.md)
Add header image, paste content, schedule or publish
YouPost Medium article (03-medium-post.md)
Add header image, paste content, add tags, publish
YouConfirm Followr social posts are live / queued in scheduler
YouRun complete -- note the SCT slug used so it is not reused
YouConfirm Followr social posts are scheduled across the full evergreen window
YouAssign short-video scripts for recording and posting
YouPin or save top evergreen posts as profile highlights where the platform supports it
YouSet a calendar reminder to review performance and refresh/repost top performers after the rotation window
YouRun complete -- note the SCT slug used so it is not reused
You