212 lines
9.1 KiB
YAML
212 lines
9.1 KiB
YAML
name: drafting
|
|
description: "Write one chapter in draft-only mode -- continuity check, draft prompt, draft, character state extraction, then stop. No editorial pipeline."
|
|
debug: true
|
|
rag_exclude: [business_plan, charter]
|
|
system: agent_prompt
|
|
|
|
requires:
|
|
- genre_name
|
|
- genre_audience
|
|
- prose_style
|
|
- chapter_target_words
|
|
- chapter_ref
|
|
- chapter_number
|
|
|
|
conditional_skills:
|
|
- path: guides/YAFictionGuide.md
|
|
genre_contains:
|
|
- "YA"
|
|
- "Young Adult"
|
|
- path: guides/RomanceFictionGuide.md
|
|
genre_contains:
|
|
- "Romance"
|
|
- "Contemporary Romance"
|
|
- path: guides/SciFiFictionGuide.md
|
|
genre_contains:
|
|
- "Science Fiction"
|
|
- "Sci-Fi"
|
|
- "SciFi"
|
|
- "Science-Fiction"
|
|
|
|
agent_prompt:
|
|
- "= identity.md"
|
|
- "agent.rag.json"
|
|
|
|
sections:
|
|
- agent
|
|
- project
|
|
- rag
|
|
- skills
|
|
- deliverables
|
|
- message
|
|
- instructions
|
|
|
|
steps:
|
|
- type: think
|
|
hint: |
|
|
PASS 0 -- BIBLE, CONTINUITY, AND DRAFT PROMPT
|
|
|
|
GENRE: {genre_name} | AUDIENCE: {genre_audience}
|
|
PROSE STYLE GUIDE: {prose_style}
|
|
TARGET CHAPTER LENGTH: ~{chapter_target_words} words
|
|
THIS CHAPTER: {chapter_number} ({chapter_ref})
|
|
|
|
CONTINUITY GUARDRAILS:
|
|
- Use ONLY the outline / character bible and the immediately previous chapter for continuity.
|
|
- Ignore future chapters, editorial reviews, roundtables, polish drafts, and any non-chapter artifacts.
|
|
- Never pull facts from a deliverable whose filename indicates a later chapter than {chapter_ref}.
|
|
|
|
????????????????????????????????????????????????????????????????????
|
|
? THE READER KNOWS RULE ?
|
|
? You may only use information established in chapters 1 through ?
|
|
? {chapter_number}. Stop reading the outline at Chapter ?
|
|
? {chapter_number_next}. Characters enter this chapter as they ?
|
|
? left chapter {chapter_number_prev} -- not as they end at book ?
|
|
? end. ?
|
|
????????????????????????????????????????????????????????????????????
|
|
|
|
STEP 1 -- READ THE OUTLINE (chapters 1 through {chapter_number} ONLY):
|
|
Look at PROJECT DELIVERABLES for the outline file.
|
|
STOP at "Chapter {chapter_number_next}:" -- do NOT read beyond.
|
|
Extract and record:
|
|
- protagonist and supporting cast names
|
|
- world rules / constraints established SO FAR
|
|
- this chapter's summary, emotional beat, and closing hook from the outline
|
|
|
|
CHARACTER VOICE PROFILES (pre-extracted):
|
|
{character_profiles}
|
|
|
|
If this block is empty, search PROJECT DELIVERABLES for the outline file containing
|
|
"## Voice Signatures" and copy ONLY the voice/speech patterns here. Do NOT copy
|
|
arc resolution or end-state descriptions. PASS 1 must write every character
|
|
to their voice profile without exception.
|
|
|
|
STEP 2 -- CHARACTER STATE (as of chapter {chapter_number_prev}):
|
|
Priority order:
|
|
1. RAG asset [character-state] -- overrides everything. Record as "LIVE CHARACTER STATE:".
|
|
2. Established traits from the outline up to chapter {chapter_number_prev} only.
|
|
Ignore outcomes that happen in later chapters.
|
|
|
|
LOCATION CONTINUITY CHECK (if [character-state] is present):
|
|
Does this chapter's outline place any character at a location inconsistent
|
|
with their Location field in [character-state]?
|
|
If conflict found -- FLAG before drafting:
|
|
"LOCATION CONFLICT: [char] is at [state-location] per last chapter but outline
|
|
places them at [outline-location]. Resolve by opening in transit or adjusting."
|
|
|
|
STEP 3 -- FIND THE PREVIOUS CHAPTER:
|
|
Look at PROJECT DELIVERABLES for the chapter that comes BEFORE this one.
|
|
If no previous chapter exists (this IS Chapter 1), skip to STEP 5.
|
|
|
|
STEP 4 -- QUOTE THE ENDING:
|
|
Copy the LAST 2-3 sentences of the previous chapter here, word for word.
|
|
Label them: "PREVIOUS CHAPTER ENDED WITH: ..."
|
|
Your new chapter MUST pick up from this exact moment.
|
|
|
|
STEP 5 -- BUILD THE DRAFT PROMPT:
|
|
Write the exact drafting prompt for the next pass. That prompt must include:
|
|
- CHAPTER: Exact chapter number and title
|
|
- POV CHARACTER: Whose perspective are we in?
|
|
- FIRST LINE: The exact opening sentence, continuing from the previous ending
|
|
- EMOTIONAL ARC: What does the protagonist feel at start vs end OF THIS CHAPTER?
|
|
- CHAPTER GOAL: What plot event MUST happen here?
|
|
- KEY BEATS: 3-5 numbered scene beats that will form the chapter
|
|
- CLOSING HOOK: Exact last image or line that makes readers continue
|
|
- Reminders about continuity, prose style, and target length
|
|
|
|
Also note any Active obligations, Open loops, or Known secrets from [character-state]
|
|
that should be honored or advanced in this chapter.
|
|
Check RAG for [world-state] -- current NPC attitudes and faction memory.
|
|
If present, record as "LIVE WORLD STATE:". NPCs listed there behave per their attitude.
|
|
|
|
Stop here. Output ONLY the draft prompt. Do NOT write chapter prose yet.
|
|
|
|
- type: think
|
|
model: power
|
|
hint: |
|
|
PASS 1 -- WRITE THE DRAFT
|
|
|
|
Use the draft prompt below as your exact writing brief:
|
|
|
|
{steps[0].text}
|
|
|
|
Requirements:
|
|
- Start with the FIRST LINE you planned -- make it continue naturally from the previous chapter
|
|
- If the draft prompt contains a line starting with "LOCKED PREVIOUS CHAPTER HOOK:",
|
|
your FIRST LINE MUST directly resolve that hook
|
|
- If the draft prompt contains "AUTHOR'S INTENT:", treat it as a binding directive
|
|
- Follow the KEY BEATS in order, but write with full scene depth
|
|
- All character names must be consistent with the bible/outline
|
|
- Every dialogue exchange must be tight and voice-distinct
|
|
- Show, don't tell -- externalize emotion through action, detail, and dialogue
|
|
- Every scene beat moves the story forward OR reveals character
|
|
- End with the CLOSING HOOK you planned
|
|
- Match the prose style guide: {prose_style}
|
|
- Target length: {chapter_target_words} words -- write the FULL chapter, not a summary
|
|
- ?? DO NOT stop early. If under {chapter_target_words} words, continue with interiority,
|
|
sensory detail, extended dialogue beats, and transitions until hitting the target.
|
|
|
|
VOICE ANTI-PATTERNS -- FORBIDDEN ON EVERY PAGE:
|
|
- Do NOT open with the "didn't just X; it Y" construction. Use varied openers.
|
|
- Thematic contrast appears max ONCE per scene as metaphor -- not every paragraph.
|
|
- Do NOT label an emotion already shown through action or dialogue.
|
|
- Do NOT count or reference chapter numbers in the prose. "Five chapters of..." is an AI fingerprint.
|
|
- Each character must have at least ONE verbal imperfection per scene they appear in.
|
|
|
|
Output ONLY the draft chapter text.
|
|
Start directly with the chapter title and opening line. No commentary, no "Pass 1" label.
|
|
|
|
- type: document
|
|
filename: "staging/drafts/chapter-{chapter_ref}"
|
|
|
|
- type: think
|
|
hint: |
|
|
PASS 3 -- CHARACTER + WORLD STATE EXTRACTION
|
|
|
|
You have just completed the chapter draft. Extract structured state for continuity tracking.
|
|
Write in compact format -- this content is stored as a RAG asset read by the NEXT chapter.
|
|
Every character who appeared must have an entry.
|
|
|
|
OUTPUT FORMAT -- write this EXACTLY, filling in real values:
|
|
|
|
# Character State: {chapter_ref}
|
|
|
|
## [Character Name]
|
|
Location: [specific location -- building, floor, city -- no vague "nearby"]
|
|
Physical: [injuries, fatigue, notable physical state, or "no injuries"]
|
|
Emotional: [dominant emotion at chapter end; what they carry into next chapter]
|
|
Active obligations: [debts/promises owed -- format: "owes [person] [what] (Ch[N]) -- UNPAID/PAID"]
|
|
Open loops: [unresolved conflicts -- format: "[parties] [issue] (Ch[N]) -- UNRESOLVED/RESOLVED"]
|
|
Known secrets: [info this character has that others don't -- "knows [what] -- [who does NOT know]"]
|
|
Arc: [XX%] -- [one sentence: what permanently changed, or "no change"]
|
|
Permanent: [YES if something permanently changed (death, power gained/lost, relationship changed); NO otherwise]
|
|
|
|
(Repeat for EVERY named character who appeared in this chapter)
|
|
|
|
# World State: {chapter_ref}
|
|
|
|
## NPC Memory
|
|
- [NPC Name] ([faction/location]): [ATTITUDE] -- [what happened] -- [behavioral consequence]
|
|
|
|
## Faction Attitudes
|
|
- [Faction name]: [current attitude toward protagonists] -- [reason]
|
|
|
|
## Active World Events
|
|
- [Event]: [status and expected timeline]
|
|
|
|
CRITICAL: Keep total output under 3500 characters. Be precise and specific.
|
|
Do NOT write prose -- only the structured data above.
|
|
|
|
- type: rag_write
|
|
asset_id: "character-state"
|
|
max_chars: 4000
|
|
|
|
- type: document
|
|
filename: "staging/drafts/character-state-{chapter_ref}"
|
|
|
|
- type: close
|
|
rag_update: true
|
|
|
|
adjudication:
|
|
enabled: false
|