finresearch-ai / src /config /tasks.yaml
YanCotta's picture
feat: Enable async execution for research and analysis tasks to support parallel processing
9695090
# FinResearch AI - Task Configuration
# This file defines the task templates for the research workflow.
# Task for the Researcher Agent
research_task:
async_execution: true # Run in parallel with analysis_task
description: >
Conduct comprehensive qualitative research on {ticker} ({company_name}).
Your objectives:
1. Search for recent news articles (past 2 weeks) about the company
2. Identify any earnings announcements, guidance updates, or financial disclosures
3. Find information about product launches, partnerships, or strategic initiatives
4. Gather analyst opinions, rating changes, or price target updates
5. Assess overall market sentiment (bullish/bearish/neutral)
Requirements:
- Verify all sources before including them
- Clearly distinguish between facts, opinions, and speculation
- Include publication dates for all news items
CRITICAL - SAVE TO MEMORY:
After completing your research, you MUST save your key findings to team memory
using the memory_tool. Save each category separately:
- Use 'save:news:<your news findings>' for news items
- Use 'save:general:<key developments>' for important developments
This ensures the Reporter can access your findings later.
expected_output: >
A structured research brief containing:
- Executive Summary (3-5 sentences)
- Recent News (bulleted list with source and date)
- Key Developments (significant events or announcements)
- Sentiment Analysis (market perception with supporting evidence)
- Risk Factors (any negative news or concerns identified)
CONFIRMATION: State that you have saved findings to memory using the memory_tool.
agent: researcher
# Task for the Analyst Agent
analysis_task:
async_execution: true # Run in parallel with research_task
description: >
Perform quantitative financial analysis for {ticker} ({company_name}).
Your objectives:
1. Retrieve current stock price and recent price movements
2. Gather key valuation metrics (P/E, P/B, EV/EBITDA, PEG ratio)
3. Collect fundamental data (market cap, revenue, earnings, margins)
4. Analyze 52-week price range and current position within it
5. Compare metrics to industry averages where possible
Requirements:
- Report exact figures with appropriate decimal precision
- Explicitly state when data is unavailable
- Contextualize metrics (e.g., "P/E of 25 is above sector median of 18")
CRITICAL - SAVE TO MEMORY:
After completing your analysis, you MUST save your key metrics to team memory
using the memory_tool. Save metrics using:
- Use 'save:metrics:<your financial metrics>' for all quantitative data
- Use 'save:analysis:<your analytical conclusions>' for interpretations
This ensures the Reporter can access your findings later.
expected_output: >
A structured financial data package containing:
- Price Summary (current price, change, 52-week position)
- Valuation Metrics (P/E, P/B, PEG with interpretation)
- Fundamental Data (market cap, revenue, margins)
- Technical Context (volume, beta, volatility indicators)
- Data Quality Notes (any metrics that could not be retrieved)
CONFIRMATION: State that you have saved metrics to memory using the memory_tool.
agent: analyst
# Task for the Reporter Agent
report_task:
description: >
Create a comprehensive investment research report for {ticker} ({company_name}).
STEP 1 - RETRIEVE FROM MEMORY (REQUIRED):
Before writing anything, you MUST retrieve the team's findings from memory:
- Use 'retrieve:{ticker} news developments' to get research findings
- Use 'retrieve:{ticker} metrics valuation' to get analysis data
- Use 'retrieve:{ticker} risk assessment' to get risk factors
STEP 2 - SYNTHESIZE:
Based on the retrieved information:
1. Combine qualitative research with quantitative analysis
2. Structure the report in a professional, readable format
3. Provide a balanced assessment of opportunities and risks
STEP 3 - FORMAT:
Format the final report in clean Markdown with these REQUIRED sections:
- Executive Summary
- Market Data & Financial Metrics
- News Analysis & Recent Developments
- Risk Assessment
- Disclaimer
Requirements:
- Use proper financial terminology
- Balance depth with readability
- Include all key data points from the analysis
- Add appropriate investment disclaimers
- Structure with clear sections and hierarchy
expected_output: >
A professional Markdown investment report containing:
# Investment Research Report: {company_name} ({ticker})
## Executive Summary
[3-5 paragraph synthesis of key findings]
## Market Data & Financial Metrics
[Quantitative data from the Analyst's findings]
## News Analysis & Recent Developments
[Qualitative findings from the Researcher]
## Risk Assessment
[Key risks and concerns]
## Disclaimer
[Standard investment disclaimer]
The report must be at least 500 words and include data from both
the Researcher and Analyst findings retrieved from memory.
agent: reporter
# Manager coordination task
coordination_task:
description: >
Coordinate the research process for {ticker} ({company_name}).
Workflow:
1. Delegate qualitative research to the Researcher
2. Delegate quantitative analysis to the Analyst
3. Ensure both teams save findings to shared memory
4. Delegate final report synthesis to the Reporter
5. Review and approve the final deliverable
Quality Standards:
- Verify all tasks are completed before proceeding
- Ensure data consistency across research and analysis
- Confirm final report incorporates all key findings
- Report must have: Executive Summary, Market Data, News Analysis, Risk Assessment
- Report must be at least 500 characters
expected_output: >
Confirmation that all research phases are complete and the final
investment report has been generated and saved.
agent: manager