Email Campaign Builder Workflow
Compose the named atomic skills without adding sending or scheduling logic here.
Inputs
Provide the campaign objective, audience segment, voice guide, and publication requirements.
Steps
Step 0: content-outline-builder [skill: content-outline-builder]
Invoke $content-outline-builder with the workflow inputs.
Expected: approved_outline
Step 1: content-draft-writer [skill: content-draft-writer] [depends_on: Step 0]
Invoke $content-draft-writer with the workflow inputs and
approved_outline.
Expected: campaign_draft
Step 2: copy-editor [skill: copy-editor] [depends_on: Step 1]
Invoke $copy-editor with campaign_draft and the workflow inputs.
Expected: edited_campaign
Step 3: publication-preflight [skill: publication-preflight] [depends_on: Step 2]
Invoke $publication-preflight with edited_campaign and the
publication requirements.
Expected: readiness_decision
Output
Return edited_campaign and readiness_decision. Do not send or schedule the
campaign.
Execution
- Run first: Step 0 —
$content-outline-builder. - After level 0: Step 1 —
$content-draft-writer. - After level 1: Step 2 —
$copy-editor. - After level 2: Step 3 —
$publication-preflight.
Execution: If graph-os is reachable, offload the whole DAG via graph_orchestrate action=execute_workflow (or the kg-delegate skill) for true parallel/swarm execution. Otherwise execute the steps natively in dependency order: run steps with no unmet depends_on in parallel, then their dependents.