feat(marketing): add CLM project handoff to kdp_publish

After successful KDP upload, create a CLM marketing project with ASIN in goal
so campaign_review can gate on a live published product.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-05-01 13:45:19 +00:00
parent 09e1e7dab5
commit 80767032b0

View File

@@ -321,6 +321,34 @@ steps:
dest_path: "publishing/submissions" dest_path: "publishing/submissions"
commit_msg: "kdp: submission record {task.id} -- ASIN {upload_result.asin}" commit_msg: "kdp: submission record {task.id} -- ASIN {upload_result.asin}"
# =========================================================================
# STAGE 8: Hand off to Crimson Leaf Marketing
# Create a CLM project for this published book so marketing can run campaigns.
# Idempotent -- re-running kdp_publish on the same book finds the existing
# CLM project and updates its goal rather than creating a duplicate.
# =========================================================================
- type: think
max_tokens: 300
output_key: marketing_brief
hint: |
A book has just been published to Amazon KDP. Write a one-line marketing
project brief for the Crimson Leaf Marketing team.
Output this format exactly (all on one line, no line breaks inside the value):
"Book: {project.name} | Genre: {genre_name} | Audience: {genre_audience} | ASIN: {upload_result.asin} | URL: {upload_result.sales_page_url} | Description: [2-sentence back-cover summary from the project goal]"
Output ONLY the brief. No preamble. No backticks.
- type: tool
action: create_project
optional: true
output_key: clm_project_result
params:
company_slug: "crimson_leaf_marketing"
name: "{project.name} Marketing"
goal: "{marketing_brief}"
- type: reply - type: reply
target: channel target: channel
channel_name: "crimson_leaf_publishing:live-feed" channel_name: "crimson_leaf_publishing:live-feed"