Calendar Planner
by @ivangdavila
Plan work and life across Google Calendar, Outlook, Apple Calendar, and CalDAV with CLI adapters, conflict repair, and weekly reviews.
clawhub install calendar-plannerπ About This Skill
name: Calendar Planner slug: calendar-planner version: 1.0.0 homepage: https://clawic.com/skills/calendar-planner description: Plan work and life across Google Calendar, Outlook, Apple Calendar, and CalDAV with CLI adapters, conflict repair, and weekly reviews. changelog: "Initial release with multi-calendar CLI playbooks, Life Grid planning rules, and local scripts for merge, guard, and weekly review workflows." metadata: {"clawdbot":{"emoji":"C","requires":{"bins":["python3","jq"]},"os":["linux","darwin","win32"],"configPaths":["~/calendar-planner/"]}}
Calendar Planner
Calendar planner for work, family, health, travel, deep work, and recovery across multiple command-line calendar adapters.
Setup
On first use, read setup.md for integration guidelines. Answer the immediate planning question first, ask before creating ~/calendar-planner/, and ask before writing to any calendar or sending invites.
When to Use
User needs calendar planning, schedule repair, weekly planning, time blocking, meeting triage, family logistics, appointment placement, or multi-calendar cleanup. Use when the real job is reconciling commitments and constraints across Google Calendar, Outlook, Apple Calendar, and CalDAV from CLI-capable tools.
This skill should return one defended plan, explicit trade-offs, and a safe action sequence. It is stronger than generic scheduling help when calendars disagree, priorities collide, or the user needs a whole-week repair instead of one more event.
Architecture
Local continuity is optional and only created with user consent.
~/calendar-planner/
βββ memory.md # User-stated planning rules and activation preferences
βββ calendars.md # Provider map, calendar names, and write boundaries
βββ rules.md # Buffers, focus rules, recurring constraints
βββ plans.md # Current week plans and reschedule decisions
βββ inbox.md # Loose commitments that still need placement
Quick Reference
Load only what improves the current planning decision. Start with protocol and commands; add memory only if the user wants continuity.
| Topic | File |
|-------|------|
| Setup and activation | setup.md |
| Optional continuity memory | memory-template.md |
| Life Grid planning method | planning-protocol.md |
| Domain-specific planning heuristics | life-domains.md |
| CLI adapter recipes | commands.md |
| Merge normalized event exports | calendar_merge.py |
| Audit overlaps and buffer failures | calendar_guard.py |
| Generate weekly planning summary | week_plan.py |
Requirements
Use the lightest adapter that matches the user's stack. Only install the provider tools needed for the current workflow.
| Need | CLI / Tool | Notes |
|------|------------|-------|
| Google Calendar | gcalcli | Uses Google Calendar API via the user's own OAuth client |
| Outlook / Microsoft 365 | Microsoft Graph PowerShell | Use delegated calendar scopes only |
| Apple Calendar | osascript | Automates Calendar.app on macOS |
| CalDAV and iCloud sync | khal plus vdirsyncer | Sync locally, then plan from local state |
| Local analysis | python3 and jq | Required for merge, guard, and week review scripts |
Core Rules
1. Start from the decision, not the CRUD action
planning-protocol.md to convert messy requests into a placement decision.2. Separate hard commitments from flexible blocks
life-domains.md to prevent work tasks from silently overrunning family, health, or sleep constraints.3. Merge all visible calendars before moving anything
calendar_merge.py when you have multiple normalized exports and need one timeline.4. Protect buffers, prep, and follow-through
calendar_guard.py to catch overlaps, short gaps, and overloaded days before proposing changes.5. Writes require explicit approval and narrow scope
6. Keep memory explicit and minimal
memory-template.md only after the user agrees to local persistence.7. End with an execution-ready plan
week_plan.py or the adapter recipes in commands.md when a terminal workflow makes the answer more reliable.Life Grid Protocol
See planning-protocol.md for the full method.
Common Traps
External Endpoints
Only the adapter the user explicitly chooses should talk to a remote service. Use one provider path at a time so data movement stays understandable.
| Endpoint | Data Sent | Purpose |
|----------|-----------|---------|
| https://www.googleapis.com/calendar/v3/* | event metadata for requested Google calendar reads or writes | Google Calendar operations through gcalcli |
| https://graph.microsoft.com/v1.0/* | event metadata for requested Outlook or Microsoft 365 reads or writes | Calendar operations through Microsoft Graph PowerShell |
| user-configured CalDAV server | event metadata for configured calendars | Calendar sync through vdirsyncer and local use through khal |
No other data is sent externally.
Security & Privacy
Data that stays local:
~/calendar-planner/calendar_merge.py, calendar_guard.py, and week_plan.pyData that may leave your machine:
This skill does NOT:
Trust
By using this skill with Google Calendar, Microsoft Graph, or CalDAV adapters, calendar metadata is sent to those services through the configured CLI tools. Only install if you trust those providers and the local machine running the commands.
Scope
This skill ONLY:
This skill NEVER:
Related Skills
Install withclawhub install if user confirms:
daily-planner - Daily plan shaping, sequencing, and realistic task placement.schedule - General scheduling workflows when the user does not need full calendar repair.assistant - Chief-of-staff style execution across tasks, messages, and planning.productivity - Focus systems, prioritization, and anti-overload operating rules.remember - Long-term continuity for user-stated constraints and recurring patterns.Feedback
clawhub star calendar-plannerclawhub syncβ‘ When to Use
βοΈ Configuration
On first use, read setup.md for integration guidelines. Answer the immediate planning question first, ask before creating ~/calendar-planner/, and ask before writing to any calendar or sending invites.