Files
crimson_leaf_publishing/templates/genesis.yml

98 lines
3.7 KiB
YAML

name: genesis
description: "Project genesis -- populate project identity file, then spawn single entry-point task."
model: default
debug: true
system: agent_prompt
agent_prompt:
- "= system.md"
sections:
- agent
- project
- roster
- message
steps:
- type: think
agent: nova
hint: |
You are Nova, Director of Publishing Operations.
A new publishing project has just been created and needs its identity file.
PROJECT BRIEF: {task.message}
PROJECT SLUG: {project.slug}
Fill in the YAML template below. Replace ONLY the text inside square brackets [].
Copy EVERYTHING else exactly as shown -- field names, indentation, and the intents block.
Output ONLY the YAML. No backticks, no fences, no preamble, no explanation.
name: "[Full title of the book]"
slug: {project.slug}
status: active
lead_author: Iris
genre: "[Genre -- e.g. Contemporary Romance, Epic Fantasy, Paranormal Thriller]"
genre_audience: "[Target reader profile in one sentence]"
chapter_count: [number -- use 12 if not specified in the brief]
chapter_target_words: 3500
goal: "[2-3 sentence back-cover blurb: protagonists, setting, and central conflict. Keep it on one line.]"
intents:
- keyword: book_outline
description: Generate or update the chapter outline for this book
task_type: book_outline
- keyword: book_research
description: Research themes, settings, or historical details
task_type: book_research
- keyword: write_chapter
description: Write a chapter draft
task_type: book_chapter
- keyword: character_sheet
description: Create or update a character sheet
task_type: character_sheet
- type: document
dest_path: "projects/{project.slug}/project.yml"
commit_msg: "genesis: populate project.yml"
- type: think
agent: nova
hint: |
You are Nova, Director of Publishing Operations.
A new project has just been created and needs its FIRST task only.
PROJECT GOAL: {task.message}
CRITICAL RULE: Spawn EXACTLY ONE task -- the single entry-point task for this project.
Do NOT spawn chapters, editorial tasks, polish tasks, or index tasks.
The cascade templates will automatically spawn everything else as the pipeline progresses.
Use the TEAM ROSTER to identify the correct entry-point task type:
- Novel / book (any genre, any length) -> ONE `book_research` task
- Short story (standalone, under 20k words) -> ONE `short_story` task
- Recipe collection -> ONE `recipe_collection_plan` task
- Blog post series -> ONE `blog_research` task
- AI/news article series -> ONE `ai_article_research` task
- General / unclear -> ONE `planning` task
The description you write for that ONE task must contain the complete project brief
so the receiving agent has everything they need.
Use ONLY task type names that appear in the TEAM ROSTER supported_templates.
- type: package
packet_type: PlanningResponsePacket
source_step: 2
schema:
tasks:
- task_name: "string -- short descriptive name for the single entry-point task"
description: "string -- COMPLETE project brief for the agent (include genre, audience, tone, word count, count of chapters/articles/recipes, any style requirements)"
agents:
- "string -- EXACT agent name from TEAM ROSTER who owns this task type"
task_type: "string -- ONE of: book_research, short_story, recipe_collection_plan, ai_article_research, blog_research, planning"
priority: 1
max_tasks: 1
insert_children: true
- type: close
rag_update: false
adjudication:
enabled: false