Files
2025-11-29 18:19:46 +08:00

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