diff --git a/templates/strategic_review.yml b/templates/strategic_review.yml index ded0bdd..29b4921 100644 --- a/templates/strategic_review.yml +++ b/templates/strategic_review.yml @@ -1,126 +1,175 @@ -name: strategic_review -description: "Crimson Leaf 24-hour strategic review -- full portfolio evaluation from each executive's perspective." -debug: true -model: power -system: agent_prompt - -agent_prompt: - - "= identity.md" - -participant_prompt: - - "= identity.md" - -sections: - - agent - - project - - history - - participants - - participants_prompt - - rag - - message - - instructions - -builders: - message: | - *** PORTFOLIO REPORT *** - {steps[0].text} - -steps: - - type: tool - action: get_portfolio_report - output_key: portfolio_data - - - type: think - max_tokens: 8000 - rotate_participants: true - loop: - max_iterations: 3 - hint: | - You are {agent.name}, participating in the Crimson Leaf Holdings strategic review. - This is round {task.iteration} of the board session. - - The portfolio report is above. Analyze it from YOUR perspective: - - - If you are Edgar (The Operator): Focus on systems health, metrics, what's broken, - what needs fixing. Are companies executing? Are processes working? - - - If you are Orion (The Visionary): Focus on opportunities, growth, what we're missing. - Are we building the right things? What should we start? What should we kill? - - - If you are Sloane (The Dealmaker): Focus on marketing, visibility, revenue. - Are we selling? Does anyone know we exist? What channels are we missing? - - Build on previous speakers' points. Disagree if you must -- this is a board debate. - - When genuine consensus is reached across all perspectives, include exactly: - "consensus_reached: true" - If debate should continue, do NOT include that line. - - - type: think - max_tokens: 6000 - agent: first_available - output_key: strategic_brief - hint: | - Synthesize the boardroom transcript into a STRATEGIC BRIEF for David. - - Structure: - 1. EXECUTIVE SUMMARY -- one paragraph on portfolio health - 2. CRITICAL ISSUES -- things that need immediate attention (if any) - 3. OPPORTUNITIES -- ranked by priority - 4. ACTION ITEMS -- specific tasks for David, formatted as: - "David, [verb]: [details]" - 5. NEXT REVIEW -- what should we focus on in the next 24-hour review? - - Keep it actionable. David is one person -- prioritize ruthlessly. - - MARKETING DISPATCH ASSESSMENT: - Check the portfolio data for Crimson Leaf Publishing projects. - A book is "complete" if its project has a deliverable named MANUSCRIPT-README or - if the portfolio report shows a project_index task completed. - A book "needs marketing" if crimson_leaf_marketing shows no active campaign for it. - - At the end of your brief, include: - CLM_DISPATCH: - - - type: think - max_tokens: 100 - output_key: clm_dispatch_slug - hint: | - Read the CLM_DISPATCH line from the strategic brief above. - Extract the value after "CLM_DISPATCH: " and output it exactly, nothing else. - Valid values: cypress-bend, crimson-vows, binding-thread, or none. - Output ONLY the value. No explanation. - - - type: think - max_tokens: 600 - output_key: clm_dispatch_message - hint: | - If clm_dispatch_slug is "none", output exactly: none - - Otherwise write a marketing campaign request for that book. Include: - - Book title, genre, audience, author - - The manuscript is complete in Crimson Leaf Publishing Gitea repo - - Request: full marketing campaign (strategy, social media, email, press release, ad copy) - - Urgency: book has no active campaign and needs revenue generation - - Book reference: - - cypress-bend: "Cypress Bend" contemporary romance, audience adult women 25-45 - - crimson-vows: "Crimson Vows" paranormal romance, audience adult women 25-40 - - binding-thread: "The Binding Thread" fantasy romance, audience adult women 20-40 - - Output ONLY the message text. No preamble. - - - type: tool - action: enqueue_strategy - optional: true - params: - company_slug: "crimson_leaf_marketing" - project_slug: "book-marketing-agency" - task_type: "marketing_campaign" - content: "{clm_dispatch_message}" - - - type: reply - target: discussion - -adjudication: - enabled: false +name: strategic_review +description: "Crimson Leaf 24-hour strategic review -- mission assessment, portfolio evaluation, gap identification, and escalation." +debug: true +model: power +system: agent_prompt + +agent_prompt: + - "= identity.md" + - "= mission.md" + +participant_prompt: + - "= identity.md" + +sections: + - agent + - project + - history + - participants + - participants_prompt + - rag + - message + - instructions + +builders: + message: | + *** PORTFOLIO REPORT *** + {steps[0].text} + +steps: + - type: tool + action: get_portfolio_report + output_key: portfolio_data + + - type: think + max_tokens: 8000 + rotate_participants: true + loop: + max_iterations: 3 + hint: | + You are {agent.name}, participating in the Crimson Leaf Holdings strategic review. + This is round {task.iteration} of the board session. + + The portfolio report is above. Your mission charter is in your system prompt. + Analyze from YOUR perspective: + + - If you are Edgar (The Operator): Focus on systems health, metrics, gaps in capability. + Are companies executing? Are we moving toward the mission success criteria? + What gaps are blocking revenue? What should we PROPOSE to David? + + - If you are Orion (The Visionary): Focus on opportunities and what we are missing. + Are we building the right things? What should we start? What should we kill? + + - If you are Sloane (The Dealmaker): Focus on marketing, visibility, revenue. + Are we selling? Does anyone know we exist? What channels are we missing? + + Build on previous speakers' points. Disagree if you must -- this is a board debate. + + When genuine consensus is reached across all perspectives, include exactly: + consensus_reached: true + If debate should continue, do NOT include that line. + + - type: think + max_tokens: 6000 + agent: first_available + output_key: strategic_brief + hint: | + Synthesize the boardroom transcript into a STRATEGIC BRIEF for David. + + Structure: + 1. EXECUTIVE SUMMARY -- one paragraph on portfolio health and mission progress + 2. MISSION GAP AUDIT -- assess each gap from the mission charter. Is Gap 1 (CLO) + still the top priority? Has anything changed that elevates a different gap? + 3. CRITICAL ISSUES -- things needing immediate attention + 4. OPPORTUNITIES -- ranked by priority + 5. ACTION ITEMS -- specific tasks for David: + "David, [verb]: [details]" + 6. NEXT REVIEW -- focus for the next 24-hour review + + Keep it actionable. David is one person -- prioritize ruthlessly. + + PROPOSAL GATE ASSESSMENT: + Based on the gap audit, should Edgar submit a company proposal this cycle? + Criteria: gap is materially blocking revenue AND cannot be solved by existing resources + AND no proposal has been submitted in the last 30 days. + State one of: PROPOSAL_NEEDED: [company-slug] or PROPOSAL_NEEDED: none + + MARKETING DISPATCH ASSESSMENT: + A book "needs marketing" if crimson_leaf_marketing shows no active campaign for it. + At the end of your brief, include: + CLM_DISPATCH: + + - type: think + max_tokens: 100 + output_key: proposal_project_slug + hint: | + Read the PROPOSAL_NEEDED line from the strategic brief above. + If the value is "none", output exactly: none + Otherwise output exactly: incubation + + Output ONLY one word. No explanation. No punctuation. + + - type: think + max_tokens: 800 + output_key: proposal_brief + hint: | + The proposal decision is: {proposal_project_slug} + + If {proposal_project_slug} is "none", output exactly: none + + Otherwise, write the task message for the company_proposal pipeline. + This brief becomes the input that drives the full business plan. + + Include: + - Which company to propose (name, slug, purpose in one sentence) + - What gap it fills (specific -- what Edgar cannot do today without it) + - Why now (cost of waiting another 30 days) + - Proposed 90-day success criteria (measurable) + - Known constraints or dependencies + + Be specific. This brief drives the entire proposal document. + + Output ONLY the brief text. No labels. No preamble. + + - type: tool + action: enqueue_strategy + optional: true + params: + company_slug: "crimson_leaf" + project_slug: "{proposal_project_slug}" + task_type: "company_proposal" + content: "{proposal_brief}" + agent_name: "edgar" + + - type: think + max_tokens: 100 + output_key: clm_dispatch_slug + hint: | + Read the CLM_DISPATCH line from the strategic brief above. + Extract the value after "CLM_DISPATCH: " and output it exactly, nothing else. + Valid values: cypress-bend, crimson-vows, binding-thread, or none. + Output ONLY the value. No explanation. + + - type: think + max_tokens: 600 + output_key: clm_dispatch_message + hint: | + If {clm_dispatch_slug} is "none", output exactly: none + + Otherwise write a marketing campaign request for that book. Include: + - Book title, genre, audience + - The manuscript is complete in Crimson Leaf Publishing Gitea repo + - Request: full marketing campaign (strategy, social, email, press release, ad copy) + - Urgency: book has no active campaign and needs revenue generation + + Book reference: + - cypress-bend: "Cypress Bend" contemporary romance, audience adult women 25-45 + - crimson-vows: "Crimson Vows" paranormal romance, audience adult women 25-40 + - binding-thread: "The Binding Thread" fantasy romance, audience adult women 20-40 + + Output ONLY the message text. No preamble. + + - type: tool + action: enqueue_strategy + optional: true + params: + company_slug: "crimson_leaf_marketing" + project_slug: "book-marketing-agency" + task_type: "marketing_campaign" + content: "{clm_dispatch_message}" + + - type: reply + target: discussion + +adjudication: + enabled: false \ No newline at end of file