Files
ajarbot/config/scheduled_tasks.yaml

165 lines
4.9 KiB
YAML
Raw Normal View History

# Scheduled Tasks Configuration
# Tasks that require the Agent/LLM to execute
tasks:
# Morning briefing - sent to Slack/Telegram
- name: morning-weather
prompt: |
Check the user profile (Jordan.md) for the location (Centennial, CO). Use the get_weather tool with OpenWeatherMap API to fetch the current weather.
Also use web_fetch to get today's high/low from a weather service:
https://wttr.in/Centennial,CO?format=j1
Parse the JSON response to extract:
- maxtempF (today's high)
- mintempF (today's low)
Format the report as:
🌤️ **Weather Report for Centennial, CO**
- Current: [current]°F (feels like [feels_like]°F)
- Today's High: [high]°F
- Today's Low: [low]°F
- Conditions: [conditions]
- Wind: [wind speed] mph
- Recommendation: [brief clothing/activity suggestion]
Keep it brief and friendly!
schedule: "daily 06:00"
enabled: true
send_to_platform: "telegram"
send_to_channel: "8088983654" # Your Telegram user ID
# Daily Zettelkasten Review
- name: zettelkasten-daily-review
prompt: |
Time for your daily zettelkasten review! Help Jordan process fleeting notes:
1. Use search_by_tags to find all notes tagged with "fleeting"
2. Show Jordan the list of fleeting notes captured today/recently
3. For each note, ask: "Would you like to:
a) Process this into a permanent note
b) Keep as fleeting for now
c) Delete (not useful)"
Format:
📝 **Daily Zettelkasten Review**
You have [X] fleeting notes to review:
1. [Title] - [first line of content]
2. [Title] - [first line of content]
...
Reply with the number to process, or 'skip' to review later.
Keep it conversational and low-pressure!
schedule: "daily 20:00"
enabled: true
send_to_platform: "telegram"
send_to_channel: "8088983654"
# Daily API cost report
- name: daily-cost-report
prompt: |
Generate a daily API usage and cost report:
Read the usage_data.json file to get today's API usage statistics.
Format the report as follows:
📊 **Daily API Usage Report**
**Today's Stats:**
- Total API calls: [count]
- Input tokens: [count]
- Output tokens: [count]
- Cache hits: [count] (if any)
**Costs:**
- Today: $[amount]
- Model breakdown: [breakdown by model]
**Budget Tracking:**
- Remaining budget: $19.86
- 75% threshold: $14.90 (⚠️ WARN IF EXCEEDED)
- Status: [On track / Warning - approaching 75% / Critical - over 75%]
⚠️ **IMPORTANT:** If cumulative cost exceeds $14.90 (75% of $19.86), display a clear warning message.
Keep it clear and actionable!
schedule: "daily 23:00"
enabled: true
send_to_platform: "telegram"
send_to_channel: "8088983654"
# Evening summary
- name: evening-report
prompt: |
Good evening! Time for the daily wrap-up:
1. What was accomplished today?
2. Any tasks still pending?
3. Preview of tomorrow's priorities
4. Weather forecast for tomorrow (infer or say API needed)
Keep it concise and positive.
schedule: "daily 18:00"
enabled: false
send_to_platform: "telegram"
send_to_channel: "123456789" # Replace with chat ID
# Hourly health check (no message sending)
- name: system-health-check
prompt: |
Quick health check:
1. Are there any tasks that have been pending > 24 hours?
2. Is the memory system healthy?
3. Any alerts or issues?
Respond with "HEALTHY" if all is well, otherwise describe the issue.
schedule: "hourly"
enabled: false
username: "health-checker"
# Weekly review on Friday
- name: weekly-summary
prompt: |
It's Friday! Time for the weekly review:
1. Major accomplishments this week
2. Challenges faced and lessons learned
3. Key metrics (tasks completed, etc.)
4. Goals for next week
5. Team shoutouts (if applicable)
Make it comprehensive but engaging.
schedule: "weekly fri 17:00"
enabled: false
send_to_platform: "slack"
send_to_channel: "C12345"
# Custom: Midday standup
- name: midday-standup
prompt: |
Midday check-in! Quick standup report:
1. Morning accomplishments
2. Current focus
3. Any blockers?
4. Afternoon plan
Keep it brief - standup style.
schedule: "daily 12:00"
enabled: false
send_to_platform: "slack"
send_to_channel: "C12345"
# Configuration notes:
# - schedule formats:
# - "hourly" - Every hour on the hour
# - "daily HH:MM" - Every day at specified time (24h format)
# - "weekly day HH:MM" - Every week on specified day (mon, tue, wed, thu, fri, sat, sun)
# - send_to_platform: null = don't send to messaging (only log)
# - username: Agent memory username to use for this task