feat(clp): build full CLP agent roster, templates, and skills library

- 8 company agents: Lyra (intake), Selene (CEO), Atlas (research),
  Nova (publishing ops), Iris (author), Devon (dev editor),
  Lane (line editor), Cora (continuity editor)
- 19 additional templates (20 total): blog, recipe, short_story,
  book pipeline, ai_article, planning, boardroom, quick, project_index
- 5 skill guides: YA, Romance, SciFi, Blog, Recipe writing
- Rewritten charter and business plan

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
David Baity
2026-03-12 01:14:51 -04:00
parent d6b2c94135
commit 50749f8e2b
52 changed files with 3276 additions and 63 deletions

190
templates/book_outline.yml Normal file
View File

@@ -0,0 +1,190 @@
name: book_outline
description: "Boardroom debate to lock the book concept, produce a character bible (for fiction) + full chapter outline, then spawn chapter writing tasks."
debug: true
system: agent_prompt
context_builders:
- markov_names
participant_prompt:
- "= identity.md"
agent_prompt:
- "= identity.md"
sections:
- agent
- project
- history
- rag
- deliverables
- participants
- participants_prompt
- message
- instructions
steps:
- type: think
rotate_participants: true
loop:
max_iterations: 4
hint: |
You are {agent.name}. This is round {task.iteration} of the creative boardroom.
GENRE: {genre_name} | AUDIENCE: {genre_audience}
STRUCTURE GUIDE: {outline_structure}
The room is deciding on ONE book concept to write. The trend research
is in the DELIVERABLES and RAG above — everyone has read it.
═══════════════════════════════════════════════
PRE-ASSIGNED CHARACTER NAMES (fiction projects — use these exactly)
═══════════════════════════════════════════════
These names were generated for this project. Do NOT substitute generic defaults
like Jax, Elara, Ryder, Quinn, Lyra, Knox, or Zane.
Protagonist: {protagonist_name}
Love interest: {love_interest_name}
Antagonist: {antagonist_name}
Supporting: {supporting_1}, {supporting_2}, {supporting_3}
Setting/Town: {place_name}
(Non-fiction projects: ignore the character names above — they are not applicable.)
═══════════════════════════════════════════════
From YOUR area of expertise, argue for (or against) a specific concept:
- Which of the research concepts has the strongest hook for this audience?
- What protagonist archetype will readers obsess over?
- What central conflict creates the best chapter-to-chapter tension?
- What's the opening chapter hook that makes a reader continue?
- What should the chapter length and structure be?
React to what prior speakers argued. Push back on weak ideas. Build on strong ones.
Be specific — no vague enthusiasm. Name the concept, argue WHY.
When the group has agreed on ONE specific concept (title, hook, protagonist, conflict, structure):
"consensus_reached: true"
- type: think
agent: first_available
hint: |
The boardroom has selected a concept. Synthesize all rounds above into a
COMPLETE BOOK OUTLINE document.
═══════════════════════════════════════════════
PART 1: CHARACTER BIBLE (fiction only — omit entirely for non-fiction)
═══════════════════════════════════════════════
If this is a fiction project, write a Character Bible FIRST:
# [Book Title] — Character Bible
## {protagonist_name}
- Age:
- Voice: [describe the internal narrative voice — e.g., "sardonic, first-person, teen"]
- Background: [2 sentences]
- Want: [what they think they want]
- Need: [what they actually need to grow]
- Fatal flaw: [the trait that creates conflict]
- Speech pattern: [how they talk — with examples]
## {love_interest_name}
- Age:
- Role in story:
- Why readers root for them:
- Dynamic with protagonist:
- Secret or wound they carry:
## {antagonist_name}
- Type: [person / institution / supernatural / internal]
- Motivation:
- How they challenge the protagonist:
## Supporting Characters
- {supporting_1}: [role and relationship to protagonist]
- {supporting_2}: [role and relationship to protagonist]
- {supporting_3}: [role and relationship to protagonist]
## World Rules (if paranormal/fantasy/speculative)
- [Powers, systems, constraints — be precise]
- [What limits them? What are the costs?]
═══════════════════════════════════════════════
PART 2: CHAPTER OUTLINE (all projects)
═══════════════════════════════════════════════
# [Book Title]
## Concept Summary
- Hook: one sentence that sells the book
- Genre: {genre_name}
- Protagonist: name, age, background, flaw, want vs need
- Antagonist / Central Conflict: what stands in their way
- Setting: world, time, atmosphere
- Format: target chapter length ~{chapter_target_words} words, POV (1st/3rd)
- Target audience: {genre_audience}
## Chapter Outline
For each chapter (target {chapter_count} chapters):
- Chapter N: [Title]
- Summary: 23 sentences of what happens
- Emotional beat: what the reader feels
- Hook / cliffhanger: how this chapter ends
## Voice & Tone Guide
Three sentences describing the narrative voice per the style guide below.
PROSE STYLE: {prose_style}
One example opening sentence.
## Publishing Notes
Why this book fits the genre and target audience.
- type: document
filename: "{{task_name_slug}}"
- type: package
packet_type: IntakeResponse
hint: |
You are the Project Manager. The outline above describes a multi-chapter book.
Convert EVERY chapter in the outline into a sequential create_task action for Iris.
Rules:
- One action per chapter (minimum {chapter_count} chapters)
- task_name format: "Write Chapter N: [Chapter Title]"
- agent_name: always "Iris"
- task_type: always "book_chapter"
- description: Include the chapter summary, POV character, emotional beat, and cliffhanger from the outline.
Start with: "You are writing Chapter N of [Book Title]. [chapter summary]. POV: [character name]."
- depends_on: the exact task_name of the PREVIOUS chapter (empty string for Chapter 1)
- chapter_ref: zero-padded two-digit chapter number, e.g. "ch-01", "ch-02", ... "ch-18"
The depends_on chain creates sequential writing — each chapter waits for the previous to be committed.
schema:
actions:
- type: create_task
task_name: "string"
agent_name: "string"
task_type: "string"
description: "string"
depends_on: "string"
context:
genre_name: "{genre_name}"
genre_audience: "{genre_audience}"
prose_style: "{prose_style}"
chapter_target_words: "{chapter_target_words}"
chapter_ref: "string"
- type: close
rag_update: true
adjudication:
enabled: true
pass_threshold: 60
deliverable_type: coordination
criteria:
completeness:
weight: 40
description: "All required sections and elements present"
structure:
weight: 35
description: "Logical organization and hierarchy"
actionability:
weight: 25
description: "Clear enough for execution without guessing"