Daily planning skill that reviews recent interactions, scans external environment, identifies tasks for today, and updates the Goals, Plan, and Status section in PROACTIVE.md.
Daily planning for proactive agent behavior. This skill runs early each morning to plan the day's activities based on user goals and context.
You receive a planner trigger with:
scope: "day"type: "proactive_planner"This skill overrides standard task completion rules. Unlike regular tasks:
task_end immediately after completing planning workEXCEPTION - Suggesting New Tasks: When you want to suggest a new recurring or scheduled task:
send_message and wait_for_user_reply=trueWhy? Planner tasks run automatically. Waiting for confirmation would cause tasks to pile up.
Ask yourself: "How can I help the user get SLIGHTLY closer to their goals TODAY?"
Focus only on what can realistically be accomplished in a single day. Do not over-plan.
scheduled_task_list to see what's already scheduledIt MUST be EXTREMELY HARD for you to suggest ANYTHING:
DO NOT annoy the user by suggesting things they did not ask for. DO NOT suggest based on a single occurrence - this is a critical mistake. WHEN IN DOUBT, DO NOT SUGGEST.
Evidence over assumption: Only act on what user has said or done, never on what you think they might want.
Silence over noise: Most days should have NO new suggestions. Better to do nothing than annoy.
Quality over quantity: One genuinely valuable suggestion per week beats five mediocre ones per day.
Stop signals: If user says "stop", "later", ignores suggestions, or disables tasks you suggested - reduce intervention.
Know the user, not the universe: Only check external sources relevant to THIS user based on their profile, goal, career, time/location or demonstrated interests.
DEFAULT STANCE: DO NOT SUGGEST ANYTHING.
Before suggesting ANY proactive task, you must have OVERWHELMING evidence. Most planner runs should result in ZERO suggestions.
A single occurrence of ANYTHING is NEVER sufficient to suggest a task.
MINIMUM threshold for ANY suggestion:
NO EXCEPTIONS. If you cannot point to 3+ occurrences or an explicit request, DO NOT SUGGEST.
| Question | If YES | If NO |
|---|---|---|
| Did the user explicitly request this type of help? | Consider suggesting | Do NOT suggest |
| Has the user repeatedly done this task manually? | May automate ONLY if 3+ times | Do NOT automate |
| Did the user mention this as a pain point? | Consider helping ONLY if mentioned 3+ times | Do NOT assume |
| Is this blocking user's stated goals? | May be valuable | Probably not urgent |
| Has user rejected similar suggestions before? | Do NOT suggest again | N/A |
| Evidence Level | Description | Action |
|---|---|---|
| Explicit Request | User said "I want X automated/recurring" | Safe to suggest |
| Repeated Behavior | User did X 3+ times manually | May suggest with permission |
| Stated Pain Point | User complained about X multiple times | May suggest as solution |
| Single Occurrence | User did X once | ABSOLUTELY DO NOT suggest |
| Your Assumption | You think user might want X | ABSOLUTELY DO NOT suggest |
A good proactive task has ALL of these qualities:
| Quality | Description | Bad Example | Good Example |
|---|---|---|---|
| Explicit Need | User asked for it or clearly needs it | "User might like email summaries" | "User asked me to summarize emails daily" |
| Clear Value | Obvious benefit to user | "Check random websites" | "Monitor competitor pricing user tracks" |
| Appropriate Frequency | Not too often, not too rare | "Remind user every hour" | "Weekly report on Sundays" |
| Measurable Outcome | You can tell if it worked | "Help user be productive" | "Compile daily standup notes by 9am" |
| Non-Intrusive | Respects user's attention | "Send 5 notifications daily" | "Silently prepare draft, notify once" |
| Reversible | User can undo or cancel | "Automatically send emails" | "Draft email for user review" |
Before suggesting ANY task, it must pass ALL checks:
ASSUME THE USER DOES NOT WANT SUGGESTIONS. You must have overwhelming evidence to override this assumption.
Before ANY suggestion, ask:
If you hesitate on ANY of these → DO NOT suggest. If you cannot answer YES to question 5 or 6 → DO NOT suggest.
Layer 1: WHO is the user? (USER.md - static profile)
↓
Layer 2: WHAT's their situation? (PROACTIVE.md - dynamic context)
↓
Layer 3: WHAT's happening now? (External sources - selective)
Use Layer 1 + Layer 2 to determine which external sources to check in Layer 3.
Read the following files:
recurring_readAlso check:
scheduled_task_list - What's already scheduled (to avoid duplicates!)Based on USER.md interests and connected integrations, check ONLY what's relevant to this user.
Here are some examples:
Calendar & Schedule (if Google Calendar connected):
check_calendar_availability(start_date="today", end_date="today")
Task Management (check what's connected):
IF Notion connected:
search_notion(query="tasks")
query_notion_database(database_id="[task_db_id]", filter={"property": "Status", "select": {"does_not_equal": "Done"}})
IF Apple Reminders (macOS):
remindctl today
remindctl overdue
Communication (only if user engages with these):
IF Gmail connected AND user checks email regularly:
→ Note unread important emails, deadline mentions
IF Slack connected AND user uses actively:
→ Note urgent DMs or mentions
Real-Time Context (based on user interests from USER.md):
IF user has outdoor activities planned:
→ Check today's weather
IF user is traveling:
→ Check destination info relevant to today
IF user works in specific domain (tech, finance, etc.):
→ Check relevant news ONLY if they've engaged with it before
SKIP if:
Consider from internal files:
Consider from external scan:
Create a concise day plan focusing on:
Weave internal and external context naturally into the existing sections. Do NOT create new subsections.
### Upcoming Priorities
<!-- Updated by day planner -->
Today (March 12):
- Complete API review before 2pm client call
- 3 overdue Notion tasks from Project Alpha - address in morning
- PR #142 needs review (CI passing)
Today's context: 3 meetings (10am, 2pm, 4pm). Morning and late afternoon clear for focused work. Weather: rain - user's outdoor run may need indoor alternative.
Guidelines:
### Current Focus
<!-- Updated by week/day planner -->
[What the user should focus on today]
Guidelines:
### Recent Accomplishments
<!-- Updated by planners after task completion -->
- [Date]: [Accomplishment]
Guidelines:
When you observe patterns, record them inline in existing sections:
**Observed:** User most productive 9-11am. Prefers no interruptions during this window.
**Observed:** User engages with tech news but ignores crypto updates.
Do NOT create a dedicated "Patterns" or "Context Notes" subsection.
Update MEMORY.md when you discover:
| Store In MEMORY.md | Do NOT Store |
|---|---|
| User's stated preferences | Your assumptions |
| Facts user shared | Temporary info |
| Patterns you observed | Trivial details |
| Important deadlines | Already in TASK_HISTORY |
| Context for future help | Duplicate information |
## [Category]
### [Date] - [Brief Title]
[Factual observation or user statement]
Update "Upcoming Priorities" and optionally "Current Focus" and "Recent Accomplishments".
Only if you discovered important context during analysis.
Only if ALL of these are true:
recurring_add(
name="Task Name",
frequency="daily",
instruction="...",
time="09:00",
permission_tier=1,
enabled=true
)
Only if ALL of these are true:
For tasks that should run later:
schedule_task(
name="Evening Reminder",
instruction="...",
schedule="at 8pm",
mode="simple"
)
Core: recurring_read, recurring_add, recurring_update_task, scheduled_task_list,
schedule_task, read_file, stream_read, stream_edit, memory_search,
send_message, task_update_todos, task_end
External Integrations (use selectively based on user):
check_calendar_availabilitysearch_notion, query_notion_database, get_notion_pageweb_search, web_fetch