Files
crimson_leaf_publishing/templates/blog_write.yml
David Baity db06dce05d feat: wire skills guides into templates, deduplicate Iris RAG
Skills guides wired (all were dead code — no templates declared skills:):
- book_chapter.yml: YAFictionGuide + RomanceFictionGuide + SciFiFictionGuide
- chapter_review.yml: same (Devon, Lane, Cora reviewers now have genre context)
- chapter_roundtable.yml: same (debate participants use genre craft knowledge)
- chapter_polish.yml: same (Iris polishes with full genre guide in context)
- short_story.yml: same
- blog_write.yml: BlogWritingGuide
- recipe_develop.yml: RecipeWritingGuide

All templates updated to include 'skills' in sections list so guides
are injected as SKILLS & GUIDES block in the prompt.

Iris RAG deduplication:
- agents/iris/rag/agent.rag.md: 15 near-identical entries -> 2 canonical
  Entry 1: Bible & Continuity Check requirement
  Entry 2: Editorial assignments (Devon/Lane/Cora with their roles)
  13 duplicates removed

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-12 09:39:05 -04:00

93 lines
2.9 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: blog_write
description: "Write a standalone blog post — draft, polish, deliver."
debug: true
system: agent_prompt
skills:
- guides/BlogWritingGuide.md
agent_prompt:
- "= identity.md"
- "agent.rag.json"
sections:
- agent
- project
- rag
- skills
- 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 23 sentences pull the reader in immediately
- Body: 35 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"