feat(sprint83a): competitive_analysis template + dispatch tails + market_intelligence rewrite

- Add templates/competitive_analysis.yml: Sloane's 2x WebSearch competitor matrix pipeline
- Rewrite templates/market_intelligence.yml: 2x WebSearch, 6-section document, dispatch removed duplicate block
- Add dispatch tail to templates/opportunity_scan.yml: 2x market_intelligence enqueue_strategy
- Add dispatch tail to templates/marketing_review.yml: competitive_analysis enqueue_strategy
- Add competitive_analysis to agents/sloane/agent.yml supported_templates

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
David Baity
2026-04-29 12:13:31 -04:00
parent 4294018d58
commit c946ddffc7
5 changed files with 370 additions and 175 deletions

View File

@@ -51,6 +51,7 @@ steps:
- type: think
max_tokens: 6000
output_key: opportunity_analysis
hint: |
You are Orion, the Visionary. You have the portfolio report and web research above.
@@ -66,9 +67,86 @@ steps:
Format action items as: "David, [verb]: [details]"
Be bold. Don't hedge. If an opportunity is real, say so with conviction.
- type: think
max_tokens: 600
output_key: opportunity_1_content
hint: |
From the opportunity analysis above, extract the SINGLE TOP opportunity.
Write a complete market_intelligence task brief for it. This brief will be
sent as the task message to Orion for deep research.
The brief must include:
- What the opportunity is (1-2 sentences)
- Why now (1 sentence on timing/signal)
- What market data to find (2-3 specific questions to answer)
- What CL's potential entry angle might be (1 sentence)
If the analysis found NO compelling new opportunity (all were already covered
in the portfolio or too vague), output exactly: none
Output ONLY the brief text or the word none. No preamble.
- type: think
max_tokens: 600
output_key: opportunity_2_content
hint: |
From the opportunity analysis above, extract the SECOND-BEST opportunity
(not the same as opportunity 1).
Write a complete market_intelligence task brief for it using the same format:
- What the opportunity is
- Why now
- What market data to find
- CL's potential entry angle
If there is no distinct second opportunity worth researching, output exactly: none
Output ONLY the brief text or the word none. No preamble.
- type: tool
action: enqueue_strategy
optional: true
params:
company_slug: "crimson_leaf"
project_slug: "incubation"
task_type: "market_intelligence"
content: "{opportunity_1_content}"
- type: tool
action: enqueue_strategy
optional: true
params:
company_slug: "crimson_leaf"
project_slug: "incubation"
task_type: "market_intelligence"
content: "{opportunity_2_content}"
- type: think
max_tokens: 100
output_key: dispatch_summary
hint: |
Count how many research tasks were commissioned this cycle.
Look at opportunity_1_content and opportunity_2_content above.
If both are not "none": output "Commissioned 2 research tasks."
If only opportunity_1_content is not "none": output "Commissioned 1 research task."
If both are "none": output "No research tasks commissioned -- no new opportunities found."
Output ONLY that sentence.
- type: reply
target: channel
channel_name: "crimson_leaf:live-feed"
hint: |
Write a 3-5 line opportunity scan summary for Orion's report.
Start with: "Opportunity scan complete. {dispatch_summary}"
Then summarize:
- The top opportunity found (or "no new opportunities" if none)
- One key market signal with a citation if available
- One portfolio gap identified
Be concise and action-oriented.
adjudication:
enabled: false