5.2 KiB
You are helping create time blocks in Google Calendar from TaskNotes tasks using gcalcli.
Context
- Calendar: 00_Schedule (main calendar only)
- Tool: gcalcli CLI
- TaskNotes: Tasks in
~/Obsidian/Altellus/00_Inbox/Tasks/ - Daily notes:
~/Obsidian/Altellus/20_Notes/Journal/YYYY/Mnn/YYYY-MM-DD.md
Task
Create calendar time blocks for TaskNotes tasks to facilitate focus time and task completion.
Use Cases
1. Manual time block for specific task
/pkm:gcal-block "[[SWSP25 Problem Definition]]" 2025-11-19 14:00 120
Creates 2-hour focus block for the task.
2. Auto-schedule incomplete tasks
/pkm:gcal-block --auto
Automatically schedules incomplete tasks from today's daily note.
3. Weekly planning
/pkm:gcal-block --week
Creates time blocks for all tasks planned this week.
Steps:
Manual Time Block
-
Parse input:
- Task name:
[[Task Name]](TaskNotes wikilink) - Date: YYYY-MM-DD
- Time: HH:MM
- Duration: minutes (default 90)
- Task name:
-
Extract task details:
- Read task file from
00_Inbox/Tasks/Task Name.md - Get task title, priority, time estimate
- Read task file from
-
Create calendar event:
gcalcli --calendar "00_Schedule" add \ --title "🎯 [Task Title]" \ --when "YYYY-MM-DD HH:MM" \ --duration MINUTES \ --description "TaskNotes: [[Task Name]]" -
Confirm:
- Display: "✅ Time block created for Task Name"
Auto-Schedule
-
Read today's daily note:
- Extract "오늘 이어서 할 일" section
- Find incomplete tasks:
- [ ] [[Task Name]]
-
Check calendar availability:
- Fetch today's events with
/pkm:gcal-today - Find free time slots (gaps between events)
- Fetch today's events with
-
Prioritize tasks:
- High priority first (if specified in TaskNotes)
- Larger time estimates first
- Morning for deep work, afternoon for lighter tasks
-
Create time blocks:
- For each task, find suitable time slot
- Create gcalcli event with task reference
- Default duration: 90 minutes (pomodoro-friendly)
-
Summary:
✅ **Auto-scheduled 3 tasks:** - 09:00-10:30: [[SWSP25 Problem Definition]] - 11:00-12:00: [[Long horizon action model paper search]] - 14:00-15:30: [[Claude 명령 테스트 및 디버깅]] Total focus time: 4 hours
Weekly Planning
-
Read this week's tasks:
- From weekly note or aggregated daily notes
- Extract all incomplete tasks:
- [ ] [[Task Name]]
-
Distribute across week:
- Monday-Friday scheduling
- Balance workload (max 4 hours deep work/day)
- Respect existing calendar events
-
Create blocks:
- Spread tasks across available time slots
- Group similar tasks (context switching reduction)
Output Format
Single task:
✅ **Time Block Created:**
- **Task:** [[SWSP25 Problem Definition]]
- **Time:** 2025-11-19 14:00-16:00 (2 hours)
- **Calendar:** 00_Schedule
Focus time secured! 🎯
Auto-schedule:
✅ **Auto-scheduled 4 tasks:**
**Morning (Deep Work):**
- 09:00-10:30: [[SWSP25 Problem Definition]] 🍅🍅🍅
- 11:00-12:30: [[ELEGNT 논문 리뷰]] 🍅🍅🍅
**Afternoon:**
- 14:00-15:00: [[Documentation 업데이트]] 🍅🍅
- 15:30-16:30: [[Code Review]] 🍅🍅
**Total:** 5.5 hours focus time
**Available:** 09:00-12:30, 14:00-16:30
Smart Scheduling Logic
1. Respect existing events:
- Don't overlap with calendar events
- Leave buffer time (15 min) between blocks
2. Energy optimization:
- 09:00-12:00: Deep work (complex tasks)
- 14:00-16:00: Medium tasks
- 16:00-18:00: Light tasks (reviews, admin)
3. Pomodoro-friendly durations:
- 25 min = 🍅
- 50 min = 🍅🍅
- 90 min = 🍅🍅🍅 (ideal)
- 120 min = 🍅🍅🍅🍅
4. Task batching:
- Group similar tasks (reading papers, coding, writing)
- Reduce context switching
Integration with TaskNotes
Time estimate from task:
---
timeEstimate: 120 # minutes
priority: high
---
Use task's timeEstimate for block duration.
Update task after scheduling:
---
scheduled: 2025-11-19
calendarBlock: true
---
Error Handling
If no free time:
- Message: "No available time slots today. Calendar is full."
- Suggest: Tomorrow or specific time
If task not found:
- Message: "Task Task Name not found in 00_Inbox/Tasks/"
- Verify: Task name spelling
If calendar conflict:
- Message: "Conflict at 14:00 with: [Existing Event]"
- Suggest: Next available slot
Advanced Features
1. Focus mode:
/pkm:gcal-block --focus 4
Create 4-hour protected deep work block (no meetings).
2. Recurring blocks:
/pkm:gcal-block "[[Weekly Review]]" --recur weekly-friday-16:00
3. Flexible timing:
/pkm:gcal-block --auto --prefer-morning
Schedule tasks in morning hours only.
Defaults
- Duration: 90 minutes (🍅🍅🍅)
- Buffer: 15 minutes between blocks
- Deep work hours: 09:00-12:00
- Event prefix: 🎯 (focus block indicator)
Notes
- Time blocks appear in Google Calendar immediately
- Sync across all devices
- Can reschedule by dragging in Google Calendar
- Task completion doesn't auto-delete block (manual cleanup)