Goal: describe a launch in a sentence and get a scheduled, editable campaign out of it.
What already exists
app/Models/LaunchCampaign.tsandapp/Models/CampaignPost.tsapp/Services/CampaignAIService.tswithCAMPAIGN_AI_STRATEGIES(full-launchand friends)- Actions:
CampaignGenerateAction,CampaignSaveAction,CampaignActivateAction,CampaignListAction,CampaignPostSaveAction,CampaignPostMoveAction,CampaignPostDeleteAction,CampaignAIStatusAction resources/views/campaigns.stx
What to work through
- Walk the full loop on a real campaign: generate → review → edit → reorder → activate → posts land in the queue and publish
- Check what
activateactually does — are generatedCampaignPostrows promoted into schedulablePost/PostTargetrows, or do they stop at the campaign view? - Per-provider variants: a generated post needs to fit X, Bluesky, and LinkedIn limits and tone, not be one body crossposted verbatim
- Scheduling: spread a multi-week plan across sensible times rather than dumping everything at once
- Regeneration: reroll a single post without losing the rest of the plan
- AI config — which provider/model, and a clear error when it isn't configured (
CampaignAIStatusActionis the hook for this) - Single-post AI drafting from the composer, not just whole campaigns
Done when
A campaign can be planned from a prompt, edited, activated, and published on schedule without hand-writing each post.
Timing
Chris asked for Postline/The Open Times to be finished and usable this week, and to start publishing from it next week — to Twitter, Bluesky, LinkedIn and The OT. That puts this issue in the this-week set, alongside #38, #39 and #40.