Files
crimson_leaf_publishing/templates/short_story.yml
David Baity 4c9222960d fix: template prompt bloat and variable substitution failures
- 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>
2026-03-12 09:05:45 -04:00

86 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: short_story
description: "Write a complete short story — plan, draft, deepen, deliver."
debug: true
system: agent_prompt
agent_prompt:
- "= identity.md"
- "agent.rag.json"
sections:
- agent
- project
- rag
- message
- rejection_feedback
- instructions
steps:
- type: think
hint: |
PASS 0 — STORY PLAN (produce a PLAN only — do NOT write prose yet)
GENRE: {genre_name} | AUDIENCE: {genre_audience}
PROSE STYLE: {prose_style}
NOTE: If any field above shows as a literal placeholder (e.g. {genre_name}), it was not
provided — infer genre, audience, and prose style from the project description and task message.
TARGET LENGTH: 3,00015,000 words (short story to novelette)
Before writing, plan the story — output ONLY this plan block, no prose:
TITLE: [Working title]
HOOK: [The exact first sentence or image that pulls the reader in]
PREMISE: [One sentence — the "what if" or core situation]
PROTAGONIST: [Name, age, voice, fatal flaw, want vs need]
ANTAGONIST / OBSTACLE: [What opposes the protagonist — person, force, or internal]
OPENING: [Where does the story begin? What is the first scene?]
MIDPOINT: [The moment everything changes]
CLIMAX: [The highest point of tension — how it comes to a head]
RESOLUTION: [How it ends — what has changed for the protagonist]
EMOTIONAL CORE: [What does this story make the reader FEEL?]
POINT OF VIEW: [1st / 3rd limited / 3rd omniscient]
TENSE: [Past / present]
KEY SCENES: [35 numbered scene beats]
Stop here. The full story will be written in the next step.
- type: think
model: power
hint: |
PASS 1 — WRITE THE COMPLETE STORY
Using the plan from your previous step, write the full story now.
Follow the prose style from the plan. Stay in chosen POV throughout.
Show — don't tell. Use dialogue. Use sensory detail.
Start with the HOOK from your plan as the literal first sentence.
End with the RESOLUTION — the final line must feel earned and resonant.
Target: reach the word count appropriate for the story (3,00015,000 words).
Output the complete story starting with # [Title].
No commentary, no "Pass 1" label, no preamble.
- type: document
filename: "{{task_name_slug}}"
- type: close
rag_update: true
adjudication:
enabled: true
pass_threshold: 82
deliverable_type: consumer
criteria:
narrative_arc:
weight: 30
description: "Story has a clear beginning, midpoint, and earned resolution"
prose_quality:
weight: 30
description: "Writing is vivid, specific, and polished throughout"
character:
weight: 25
description: "Protagonist has a distinct voice and undergoes real change"
opening_and_closing:
weight: 15
description: "First and last lines are memorable and purposeful"