-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Problem
The task-management skill in the productivity plugin handles "remind me to..." by adding a line to TASKS.md. This creates a static task — there's no time-based delivery, no notification, no recurrence. The user has to manually check the file to see their reminders.
In production, this is the #1 gap we hit. Sales reps say "remind me to call Acme Friday at 8am" and expect a notification at that time. Instead they get a bullet point in a markdown file that nobody checks.
What's needed
Time-based reminders that deliver themselves — via Slack DM, email, or calendar notification — when they come due. Key requirements from our production usage:
- Natural language time parsing ("next Tuesday at 2pm", "every weekday at 9am")
- Delivery via ~~chat at the scheduled time
- Recurrence (daily, weekly, weekdays, monthly)
- Cross-team: "remind Sarah to send the proposal" should notify Sarah, not just the sender
Current workaround
We built a full reminder system outside the plugin framework: database storage, 15-minute cron checker, Slack DM delivery, recurrence handling, and server-side date correction (Claude sometimes generates timestamps with the wrong year — see below).
PR submitted
PR #140 adds a proactive-reminders skill that documents this pattern, including the delivery mechanism, storage schema, date validation, and cross-team reminders. It complements task-management — tasks track what needs doing, reminders ensure it gets done on time.
Production lesson: date validation is critical
Claude's knowledge cutoff means it sometimes generates timestamps with the wrong year (e.g., 2025-03-25 instead of 2026-03-25). Reminders with past dates fire immediately. We had to add server-side auto-correction:
IF remind_at is in the past:
TRY replacing year with current year
TRY replacing year with next year (Dec→Jan edge case)
ELSE reject
Any reminder implementation needs this validation layer.