Files
ajarbot/config/scheduled_tasks.example.yaml
Jordan Ramos 50cf7165cb Add sub-agent orchestration, MCP tools, and critical bug fixes
Major Features:
- Sub-agent orchestration system with dynamic specialist spawning
  * spawn_sub_agent(): Create specialists with custom prompts
  * delegate(): Convenience method for task delegation
  * Cached specialists for reuse
  * Separate conversation histories and focused context

- MCP (Model Context Protocol) tool integration
  * Zettelkasten: fleeting_note, daily_note, permanent_note, literature_note
  * Search: search_vault (hybrid search), search_by_tags
  * Web: web_fetch for real-time data
  * Zero-cost file/system operations on Pro subscription

Critical Bug Fixes:
- Fixed max tool iterations (15 → 30, configurable)
- Fixed max_tokens error in Agent SDK query() call
- Fixed MCP tool routing in execute_tool()
  * Routes zettelkasten + web tools to async handlers
  * Prevents "Unknown tool" errors

Documentation:
- SUB_AGENTS.md: Complete guide to sub-agent system
- MCP_MIGRATION.md: Agent SDK migration details
- SOUL.example.md: Sanitized bot identity template
- scheduled_tasks.example.yaml: Sanitized task config template

Security:
- Added obsidian vault to .gitignore
- Protected SOUL.md and MEMORY.md (personal configs)
- Sanitized example configs with placeholders

Dependencies:
- Added beautifulsoup4, httpx, lxml for web scraping
- Updated requirements.txt

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-16 07:43:31 -07:00

69 lines
2.3 KiB
YAML

# Scheduled Tasks Configuration
# Tasks that require the Agent/LLM to execute
#
# Copy this file to scheduled_tasks.yaml and customize with your settings
# scheduled_tasks.yaml is gitignored to protect personal information
tasks:
# Morning briefing - sent to Slack/Telegram
- name: morning-weather
prompt: |
Check the user profile ([username].md) for the location. Use the get_weather tool to fetch current weather.
Format the report as:
🌤️ **Weather Report for [Your City]**
- Current: [current]°F
- High: [high]°F
- Low: [low]°F
- Conditions: [conditions]
- Recommendation: [brief clothing/activity suggestion]
Keep it brief and friendly!
schedule: "daily 06:00"
enabled: true
send_to_platform: "telegram" # or "slack"
send_to_channel: "YOUR_TELEGRAM_USER_ID"
# Daily Zettelkasten Review
- name: zettelkasten-daily-review
prompt: |
Time for your daily zettelkasten review! Help process fleeting notes:
1. Use search_by_tags to find all notes tagged with "fleeting"
2. Show the list of fleeting notes
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)"
Keep it conversational and low-pressure!
schedule: "daily 20:00"
enabled: true
send_to_platform: "telegram"
send_to_channel: "YOUR_TELEGRAM_USER_ID"
# 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 with today's costs, token usage, and budget tracking.
Warn if cumulative cost exceeds 75% of budget.
Keep it clear and actionable!
schedule: "daily 23:00"
enabled: false
send_to_platform: "telegram"
send_to_channel: "YOUR_TELEGRAM_USER_ID"
# 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