149 lines
3.2 KiB
Markdown
149 lines
3.2 KiB
Markdown
You are helping add events to Google Calendar using gcalcli.
|
|
|
|
## Context
|
|
- Calendar: 00_Schedule (main calendar only)
|
|
- Tool: gcalcli CLI
|
|
- Authentication: OAuth credentials at `~/.gcalcli_oauth`
|
|
|
|
## Task
|
|
Add a new calendar event to 00_Schedule using gcalcli.
|
|
|
|
### Input Modes
|
|
|
|
**Mode 1: Interactive (no arguments)**
|
|
- Ask user for event details
|
|
- Collect: title, date, time, duration
|
|
|
|
**Mode 2: Quick add (natural language)**
|
|
- Parse natural language input
|
|
- Example: "Meeting with team tomorrow 2pm"
|
|
- Use gcalcli quick command
|
|
|
|
**Mode 3: Structured (specific parameters)**
|
|
- Accept: title, when, duration
|
|
- Use gcalcli add command
|
|
|
|
### Steps:
|
|
|
|
#### Mode 1: Interactive
|
|
|
|
1. **Prompt for event details:**
|
|
- Event title: "What is the event?"
|
|
- Date: "When? (YYYY-MM-DD or 'today', 'tomorrow')"
|
|
- Time: "What time? (HH:MM)"
|
|
- Duration: "How long? (minutes, default 60)"
|
|
|
|
2. **Execute gcalcli add:**
|
|
```bash
|
|
gcalcli --calendar "00_Schedule" add \
|
|
--title "Event Title" \
|
|
--when "YYYY-MM-DD HH:MM" \
|
|
--duration MINUTES \
|
|
--reminder 10
|
|
```
|
|
|
|
3. **Confirm creation:**
|
|
- Display: "✅ Event created: [Title] on [Date] at [Time]"
|
|
|
|
#### Mode 2: Quick Add
|
|
|
|
1. **Parse natural language input:**
|
|
- User provides: "Meeting tomorrow 2pm"
|
|
|
|
2. **Execute gcalcli quick:**
|
|
```bash
|
|
gcalcli --calendar "00_Schedule" quick "Meeting tomorrow 2pm"
|
|
```
|
|
|
|
3. **Confirm creation:**
|
|
- Display gcalcli confirmation message
|
|
|
|
#### Mode 3: Structured
|
|
|
|
1. **Accept parameters:**
|
|
- title: Event title
|
|
- when: YYYY-MM-DD HH:MM
|
|
- duration: minutes (default 60)
|
|
|
|
2. **Execute gcalcli add:**
|
|
```bash
|
|
gcalcli --calendar "00_Schedule" add \
|
|
--title "${title}" \
|
|
--when "${when}" \
|
|
--duration ${duration}
|
|
```
|
|
|
|
### Output Format
|
|
|
|
```markdown
|
|
✅ **Event Created:**
|
|
|
|
- **Title:** Deep Work Session
|
|
- **Date:** 2025-11-19
|
|
- **Time:** 14:00-16:00 (2 hours)
|
|
- **Calendar:** 00_Schedule
|
|
|
|
View: gcalcli agenda today
|
|
```
|
|
|
|
### Examples
|
|
|
|
**Interactive:**
|
|
```bash
|
|
/pkm:gcal-add
|
|
> What is the event? Deep Work
|
|
> When? tomorrow
|
|
> What time? 14:00
|
|
> How long? 120
|
|
✅ Event created: Deep Work on 2025-11-20 at 14:00
|
|
```
|
|
|
|
**Quick add:**
|
|
```bash
|
|
/pkm:gcal-add "Team meeting Friday 3pm"
|
|
✅ Event created via quick add
|
|
```
|
|
|
|
**Structured:**
|
|
```bash
|
|
/pkm:gcal-add --title "Code Review" --when "2025-11-19 16:00" --duration 60
|
|
✅ Event created: Code Review
|
|
```
|
|
|
|
### Integration with TaskNotes
|
|
|
|
**Create calendar event from task:**
|
|
```bash
|
|
# When user wants to time-block a task
|
|
/pkm:gcal-add "[[Task Name]]" tomorrow 10:00 120
|
|
```
|
|
|
|
This creates a 2-hour focus block for the task.
|
|
|
|
### Error Handling
|
|
|
|
**If gcalcli fails:**
|
|
- Show error message
|
|
- Check: authentication, calendar name, date format
|
|
|
|
**If duplicate event:**
|
|
- Warn user: "Similar event exists at this time"
|
|
- Confirm: "Add anyway?"
|
|
|
|
**If time conflict:**
|
|
- Show: "Conflict with existing event: [Event]"
|
|
- Suggest: Alternative time slots
|
|
|
|
### Default Settings
|
|
|
|
- **Default duration:** 60 minutes
|
|
- **Default reminder:** 10 minutes before
|
|
- **Calendar:** 00_Schedule (always)
|
|
|
|
### Notes
|
|
|
|
- Events sync across all Google Calendar clients
|
|
- Supports natural language (tomorrow, next Monday, etc.)
|
|
- Can create recurring events with --recurrence flag
|
|
- Time zones handled by Google Calendar settings
|