- chapter_polish: remove sections:deliverables — chapter text already in
{chapter_text}; this caused 150KB+ prompts for late chapters (40MB logs)
- chapter_roundtable: require structured CONSENSUS REACHED block so
key_changes is always formatted as an extractable string; change
key_changes schema from list to string to match
- book_chapter: remove sections:history to reduce context; restructure
Pass 0 to plan-only (no prose output) so the chapter is only written
once in Pass 1 instead of twice; add explicit instruction in package
hint to copy full chapter_text into spawn context
- short_story: remove sections:history and sections:deliverables (standalone
task, needs neither); restructure Pass 0 to plan-only, Pass 1 to write;
add note to handle literal {genre_name} placeholders gracefully
- recipe_develop, ai_article_write, blog_write: remove sections:history
(these standalone tasks do not need full project conversation history;
deliverables kept so they can read the research/plan file)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
89 lines
2.9 KiB
YAML
89 lines
2.9 KiB
YAML
name: blog_write
|
||
description: "Write a standalone blog post — draft, polish, deliver."
|
||
debug: true
|
||
system: agent_prompt
|
||
|
||
agent_prompt:
|
||
- "= identity.md"
|
||
- "agent.rag.json"
|
||
|
||
sections:
|
||
- agent
|
||
- project
|
||
- rag
|
||
- deliverables
|
||
- message
|
||
- rejection_feedback
|
||
- instructions
|
||
|
||
steps:
|
||
- type: think
|
||
max_tokens: 4000
|
||
hint: |
|
||
Your task message contains the blog content brief. Follow it exactly.
|
||
|
||
Before writing, confirm:
|
||
- TOPIC and TARGET READER
|
||
- HOOK: the first sentence drops the reader into a real scenario or provocative question
|
||
- PROMISE: the one thing they walk away with
|
||
- KEY POINTS to cover
|
||
- TONE and WORD COUNT TARGET
|
||
- CALL TO ACTION
|
||
|
||
Write the full blog post:
|
||
- # Title as H1 (make it specific and curiosity-driven, not generic)
|
||
- Optional subhead in italics
|
||
- Opening hook: first 2–3 sentences pull the reader in immediately
|
||
- Body: 3–5 sections with bold subheadings, short readable paragraphs
|
||
- At least one concrete example, number, or real scenario per section
|
||
- "Try This Week" or equivalent action section before the closing
|
||
- Memorable closing line that reinforces the promise
|
||
|
||
Tone rules:
|
||
- Peer-to-peer. Write like a knowledgeable friend, not a corporate brochure.
|
||
- Use "you" and "your" — not "one" or "the reader."
|
||
- Short sentences preferred. No filler paragraphs.
|
||
- No listicles of 10+ items without grouping them into themes.
|
||
|
||
- type: think
|
||
max_tokens: 4000
|
||
model: power
|
||
hint: |
|
||
Read your draft as the target reader would on their phone.
|
||
|
||
Apply these editorial passes in sequence:
|
||
1. CUT — eliminate any warmup sentences, vague generalities, or brochure-speak
|
||
2. SHARPEN — every subheading should be scannable and specific
|
||
3. HOOK CHECK — does the opening pull in the first two sentences?
|
||
4. CTA CHECK — is the call to action specific and doable this week?
|
||
5. VOICE CHECK — does it sound human and direct throughout?
|
||
|
||
Target word count: stay within the specified range. Quality over quantity.
|
||
|
||
Output ONLY the polished final blog post starting with # [Title].
|
||
No commentary, no "Pass 2" label, no preamble.
|
||
|
||
- type: document
|
||
filename: "{{task_name_slug}}"
|
||
|
||
- type: close
|
||
rag_update: true
|
||
|
||
adjudication:
|
||
enabled: true
|
||
pass_threshold: 80
|
||
deliverable_type: consumer
|
||
criteria:
|
||
hook_strength:
|
||
weight: 30
|
||
description: "Opening immediately engages the target reader"
|
||
prose_quality:
|
||
weight: 30
|
||
description: "Writing is clear, direct, and human — no brochure-speak"
|
||
substance:
|
||
weight: 25
|
||
description: "Content is specific, useful, and backed by real examples"
|
||
structure:
|
||
weight: 15
|
||
description: "Scannable format with clear flow from hook to CTA"
|