Agent Skills
Schedule Management
AIPOCH
Local schedule management for adding events, tracking deadlines, generating reminders, and detecting time conflicts when users need offline scheduling with optional popup notifications.
2
0
FILES
87100Total Score
View Evaluation ReportCore Capability
88 / 100
Functional Suitability
11 / 12
Reliability
10 / 12
Performance & Context
8 / 8
Agent Usability
14 / 16
Human Usability
8 / 8
Security
10 / 12
Maintainability
10 / 12
Agent-Specific
17 / 20
Medical Task
15 / 20 Passed
86You need lightweight, offline/local-only schedule management without any cloud sync
3/4
86You want to add meetings/events and store them in a simple local data directory
3/4
86Add and store events locally in events.jsonl
3/4
86List and filter events by time range
3/4
86End-to-end case for Add and store events locally in events.jsonl
3/4
SKILL.md
When to Use
- You need lightweight, offline/local-only schedule management without any cloud sync.
- You want to add meetings/events and store them in a simple local data directory.
- You need to track deadlines (modeled as events with
type=deadline) and list them by time range. - You want to detect scheduling conflicts (overlapping time windows on the same date).
- You need local reminders exported to a file and optionally shown as desktop popup notifications.
Key Features
- Add and store events locally in
events.jsonl. - List and filter events by time range.
- Import events (operation-driven workflow).
- Detect conflicts by checking overlapping time intervals.
- Generate upcoming reminders into
reminders.csv. - Optional popup notifications via a local script with deduplication using
notified.log. - Strict validation for required fields and time format.
Dependencies
- Python
>= 3.9 - (Optional, for popup reminders) Windows PowerShell
>= 5.1to runscripts/notify.ps1
Example Usage
Time format must be
YYYY-MM-DD HH:MM(24-hour).
1) Add an event with a reminder
python scripts/schedule_tool.py \
--operation add \
--data-dir "./data" \
--title "Project Sync" \
--start "2026-02-10 09:00" \
--end "2026-02-10 10:00" \
--type "meeting" \
--location "Room 3A" \
--notes "Bring status updates" \
--tags "work,weekly" \
--remind 30
2) List events
python scripts/schedule_tool.py \
--operation list \
--data-dir "./data"
3) Detect conflicts
python scripts/schedule_tool.py \
--operation conflicts \
--data-dir "./data"
4) Generate reminders export
python scripts/schedule_tool.py \
--operation reminders \
--data-dir "./data"
This generates:
./data/events.jsonl./data/reminders.csv
5) (Optional) Show popup reminders with deduplication
- Generate reminders first:
python scripts/schedule_tool.py --operation reminders --data-dir "./data" - Run the notifier periodically (e.g., via Task Scheduler):
powershell -ExecutionPolicy Bypass -File scripts/notify.ps1 -DataDir "./data"
Notifications are deduplicated using ./data/notified.log so each reminder time is shown only once.
Additional examples may be available in
references/examples.md.
Implementation Details
-
Storage
- Events are appended to
events.jsonlin the specified--data-dir. - Reminder exports are written to
reminders.csvin the same directory. - Popup notification deduplication uses
notified.login the data directory.
- Events are appended to
-
Operations
add: validates required fields and writes a new event record.import: imports event records (format depends on the script’s supported import mode).list: prints a summary of stored events (optionally filtered by time range).conflicts: checks for overlapping events and reports conflicts.reminders: computes upcoming reminder times and exports them.
-
Time Parsing Rules
- Accepted format:
YYYY-MM-DD HH:MM(24-hour). - Invalid time formats are explicitly rejected.
- Accepted format:
-
Conflict Detection
- Two events conflict if they occur on the same date and their time intervals overlap:
- Overlap condition:
startA < endBandstartB < endA
- Overlap condition:
- Conflicts are reported to standard output.
- Two events conflict if they occur on the same date and their time intervals overlap:
-
Deadlines
- A deadline is represented as an event with
type=deadline. - Deadline tracking uses the same storage and listing mechanisms as other events.
- A deadline is represented as an event with
-
Failure Handling
- Missing required fields terminates only the current operation (does not corrupt existing data).
- Validation errors are surfaced clearly (e.g., invalid time format).
-
Security & Compliance
- No network access and no external APIs.
- Reads/writes are restricted to the user-specified local
--data-dir.