Sprint 61k — Template & Pipeline Correctness Audit
- Fix {task.prompt} → {task.message} in all marketing templates (6 files)
- Add author_bio.yml and ad_copy.yml templates for crimson_leaf_marketing
- Add author_bio task_type to marketing_campaign.yml package schema
- Fix book_outline.yml: remove {prose_style} literal, add anti-truncation rule, fix scifi routing
- Fix InputFromUser.yml: echo full operator message in think output
- Fix planning.yml: add agent:Nova top-level field to lock chair
- Fix publishing genesis.yml: fix {task.message} variable and hardcode Nova title
- Add professional_title to AgentContext and build_state_map
- Increase _DEFAULT_MAX_RAG_CHARS from 4000 to 8000
- Fix adj_pass_rate=0.0: thread adjudication criteria through C# and Python
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
104
templates/ad_copy.yml
Normal file
104
templates/ad_copy.yml
Normal file
@@ -0,0 +1,104 @@
|
||||
name: ad_copy
|
||||
description: "Write platform-specific advertising copy for paid campaigns across Meta, Google, and Amazon."
|
||||
system: agent_prompt
|
||||
agent_prompt:
|
||||
- "= identity.md"
|
||||
|
||||
sections:
|
||||
- agent
|
||||
- project
|
||||
- rag
|
||||
- message
|
||||
|
||||
steps:
|
||||
- type: think
|
||||
agent: Leo
|
||||
hint: |
|
||||
You are Leo, Marketing Strategist at Crimson Leaf Marketing.
|
||||
|
||||
AD COPY BRIEF: {task.message}
|
||||
|
||||
Write a COMPLETE AD COPY PACKAGE covering all required platforms.
|
||||
For each platform write the full set of variants — not placeholders.
|
||||
|
||||
════════════════════════════════════════
|
||||
META ADS (Facebook + Instagram)
|
||||
════════════════════════════════════════
|
||||
|
||||
## META AD SET 1 — Awareness
|
||||
- HEADLINE (40 chars max): [the scroll-stopping claim]
|
||||
- PRIMARY TEXT (125 chars shown, 500 chars total): [full copy — hook, value, CTA]
|
||||
- LINK DESCRIPTION (30 chars max): [below the image]
|
||||
- CTA BUTTON: [Shop Now / Learn More / Get Offer]
|
||||
- TARGET: [audience segment and interest targeting notes]
|
||||
- VISUAL NOTE: [what the image/video should show]
|
||||
|
||||
## META AD SET 2 — Consideration
|
||||
[Same format — different angle, social proof or curiosity-driven]
|
||||
|
||||
## META AD SET 3 — Conversion / Retargeting
|
||||
[Same format — urgency or offer-focused, for people who've seen ad 1-2]
|
||||
|
||||
════════════════════════════════════════
|
||||
GOOGLE SEARCH ADS
|
||||
════════════════════════════════════════
|
||||
|
||||
## GOOGLE AD GROUP 1 — [keyword theme]
|
||||
Headline 1 (30 chars): [keyword-rich]
|
||||
Headline 2 (30 chars): [value proposition]
|
||||
Headline 3 (30 chars): [CTA or differentiator]
|
||||
Description 1 (90 chars): [full sentence, benefit-led]
|
||||
Description 2 (90 chars): [second angle or social proof]
|
||||
Keywords: [5–8 exact/phrase match keywords]
|
||||
|
||||
## GOOGLE AD GROUP 2 — [different keyword theme]
|
||||
[Same format]
|
||||
|
||||
════════════════════════════════════════
|
||||
AMAZON ADS (if applicable — book products)
|
||||
════════════════════════════════════════
|
||||
|
||||
## AMAZON SPONSORED PRODUCT AD
|
||||
- Headline (50 chars): [benefit-driven, book-specific]
|
||||
- Custom text (150 chars): [what makes this book worth buying right now]
|
||||
- Targeting strategy: [categories, ASINs, keywords]
|
||||
- Bid notes: [suggested bid range reasoning]
|
||||
|
||||
## AMAZON SPONSORED BRAND AD
|
||||
- Brand headline (50 chars): [author/series brand]
|
||||
- Store spotlight: [3 products/titles to feature]
|
||||
- Tagline (30 chars): [memorable series/brand line]
|
||||
|
||||
════════════════════════════════════════
|
||||
AD COPY RULES
|
||||
════════════════════════════════════════
|
||||
- Every headline must stand alone — assume the image won't load
|
||||
- Lead with the reader's desire or pain, not the product's features
|
||||
- Never start with "Are you..." — start with the claim
|
||||
- Use RAG context for accurate book details — no invented plot points
|
||||
- CTAs are specific: "Start reading free" beats "Learn more"
|
||||
- Each platform variant must be meaningfully different — not paraphrased copies
|
||||
|
||||
- type: document
|
||||
filename: "{{task_name_slug}}-ad-copy"
|
||||
|
||||
- type: close
|
||||
rag_update: true
|
||||
|
||||
adjudication:
|
||||
enabled: true
|
||||
pass_threshold: 75
|
||||
deliverable_type: marketing_copy
|
||||
criteria:
|
||||
platform_specificity:
|
||||
weight: 30
|
||||
description: "Each platform's copy respects its format constraints and audience mindset"
|
||||
hook_strength:
|
||||
weight: 25
|
||||
description: "Headlines and opening lines earn attention without resorting to clickbait"
|
||||
cta_quality:
|
||||
weight: 25
|
||||
description: "CTAs are specific, low-friction, and matched to campaign objective"
|
||||
completeness:
|
||||
weight: 20
|
||||
description: "All three platforms present with full variant sets per format spec"
|
||||
83
templates/author_bio.yml
Normal file
83
templates/author_bio.yml
Normal file
@@ -0,0 +1,83 @@
|
||||
name: author_bio
|
||||
description: "Write a professional author bio and media kit for press, social, and book listings."
|
||||
system: agent_prompt
|
||||
agent_prompt:
|
||||
- "= identity.md"
|
||||
|
||||
sections:
|
||||
- agent
|
||||
- project
|
||||
- rag
|
||||
- message
|
||||
|
||||
steps:
|
||||
- type: think
|
||||
agent: Zara
|
||||
hint: |
|
||||
You are Zara, Lead Creative Copywriter at Crimson Leaf Marketing.
|
||||
|
||||
AUTHOR BIO BRIEF: {task.message}
|
||||
|
||||
Write a COMPLETE AUTHOR BIO & MEDIA KIT. Include all of the following sections:
|
||||
|
||||
## SHORT BIO (50 words)
|
||||
For jacket copy, social profiles, and press mentions.
|
||||
Third person. Hook first — lead with what makes this author distinct, not where they grew up.
|
||||
End with one memorable detail or current project.
|
||||
|
||||
## MEDIUM BIO (150 words)
|
||||
For conference programs, podcast introductions, and speaking engagements.
|
||||
Third person. Opens with the strongest credential or angle.
|
||||
Covers: writing background, this book's significance, one or two humanizing details.
|
||||
Closes with location and current project.
|
||||
|
||||
## LONG BIO (300 words)
|
||||
For press kits, media pages, and grant applications.
|
||||
Third person. Full narrative arc: origin, journey, this work, where they're going.
|
||||
Integrate accolades, influences, and thematic obsessions naturally.
|
||||
|
||||
## FIRST-PERSON "ABOUT ME" (100 words)
|
||||
For author website "About" page.
|
||||
Conversational, warm, direct address ("I write...").
|
||||
Show personality — not a CV recitation.
|
||||
|
||||
## SOCIAL HANDLE BIOS
|
||||
- Twitter/X (160 chars): punchy, personality-first, include main genre + book
|
||||
- Instagram (150 chars): voice-driven, can use line breaks and one or two emojis
|
||||
- LinkedIn (220 chars): professional framing, credentials first
|
||||
|
||||
## AUTHOR PHOTO CAPTION
|
||||
One sentence, third person, for photo credit lines.
|
||||
|
||||
## MEDIA CONTACT BLOCK
|
||||
Name / Email / Phone / Website / Social handles
|
||||
|
||||
TONE RULES:
|
||||
- The author is a person, not a brand. Write with warmth and specificity.
|
||||
- Avoid: "award-winning", "debut novelist", "passionate about", "journey"
|
||||
- Every bio must mention the book title and one concrete detail about its content.
|
||||
- Read the RAG context for actual book/author details — do NOT invent credentials.
|
||||
|
||||
- type: document
|
||||
filename: "{{task_name_slug}}-author-bio"
|
||||
|
||||
- type: close
|
||||
rag_update: true
|
||||
|
||||
adjudication:
|
||||
enabled: true
|
||||
pass_threshold: 75
|
||||
deliverable_type: marketing_copy
|
||||
criteria:
|
||||
voice_authenticity:
|
||||
weight: 30
|
||||
description: "Bio reads like a real person, not a press release — specific details, no generic praise"
|
||||
length_variants:
|
||||
weight: 25
|
||||
description: "All four bio lengths are present and appropriately sized for their use case"
|
||||
social_optimization:
|
||||
weight: 25
|
||||
description: "Social bios fit platform character limits and match platform tone"
|
||||
completeness:
|
||||
weight: 20
|
||||
description: "All sections present: short/medium/long bio, first-person, social bios, contact block"
|
||||
@@ -15,7 +15,7 @@ steps:
|
||||
hint: |
|
||||
You are Zara, Lead Creative Copywriter at Crimson Leaf Marketing.
|
||||
|
||||
CAMPAIGN BRIEF: {task.prompt}
|
||||
CAMPAIGN BRIEF: {task.message}
|
||||
|
||||
Write a COMPLETE EMAIL MARKETING SEQUENCE. For each email include:
|
||||
- EMAIL #: [sequence number and send timing, e.g. "Email 1: Launch Day"]
|
||||
|
||||
@@ -17,7 +17,7 @@ steps:
|
||||
You are Maya, Director of Marketing Operations at Crimson Leaf Marketing.
|
||||
A new marketing project has been created and needs its FIRST task.
|
||||
|
||||
PROJECT BRIEF: {task.prompt}
|
||||
PROJECT BRIEF: {task.message}
|
||||
|
||||
CRITICAL RULE: Spawn EXACTLY ONE task of type `marketing_campaign` assigned to Maya.
|
||||
NEVER use `planning`. NEVER use any agent other than Maya for this entry-point task.
|
||||
|
||||
@@ -17,7 +17,7 @@ steps:
|
||||
hint: |
|
||||
You are Maya, Director of Marketing Operations.
|
||||
|
||||
CAMPAIGN BRIEF: {task.prompt}
|
||||
CAMPAIGN BRIEF: {task.message}
|
||||
|
||||
Write a complete CAMPAIGN STRATEGY DOCUMENT covering:
|
||||
|
||||
@@ -45,7 +45,7 @@ steps:
|
||||
description: "string — full brief for this content piece: product, audience, channel, phase, tone, CTA, word count"
|
||||
agents:
|
||||
- "string — Zara (for copy/creative), Leo (for strategy/research)"
|
||||
task_type: "string — one of: social_media_pack, email_campaign, press_release, ad_copy, campaign_strategy"
|
||||
task_type: "string — one of: social_media_pack, email_campaign, press_release, ad_copy, author_bio, campaign_strategy"
|
||||
priority: 2
|
||||
max_tasks: 8
|
||||
insert_children: true
|
||||
|
||||
@@ -15,7 +15,7 @@ steps:
|
||||
hint: |
|
||||
You are Zara, Lead Creative Copywriter at Crimson Leaf Marketing.
|
||||
|
||||
PRESS RELEASE BRIEF: {task.prompt}
|
||||
PRESS RELEASE BRIEF: {task.message}
|
||||
|
||||
Write a PROFESSIONAL PRESS RELEASE following AP Style. Structure:
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ steps:
|
||||
hint: |
|
||||
You are Zara, Lead Creative Copywriter at Crimson Leaf Marketing.
|
||||
|
||||
CAMPAIGN BRIEF: {task.prompt}
|
||||
CAMPAIGN BRIEF: {task.message}
|
||||
|
||||
Write a COMPLETE SOCIAL MEDIA CONTENT PACK. Structure it by platform:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user