From 3a2445080c880544985f50fb0d916534698cc073 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 22 Feb 2026 23:20:56 -0600 Subject: chore: add docs/ to .gitignore and untrack personal files docs/ contains session history, personal workflows, and private protocols that shouldn't be in a public repository. --- docs/workflows/edit-calendar-event.org | 255 --------------------------------- 1 file changed, 255 deletions(-) delete mode 100644 docs/workflows/edit-calendar-event.org (limited to 'docs/workflows/edit-calendar-event.org') diff --git a/docs/workflows/edit-calendar-event.org b/docs/workflows/edit-calendar-event.org deleted file mode 100644 index 13a80a9..0000000 --- a/docs/workflows/edit-calendar-event.org +++ /dev/null @@ -1,255 +0,0 @@ -#+TITLE: Edit Calendar Event Workflow -#+AUTHOR: Craig Jennings & Claude -#+DATE: 2026-02-01 - -* Overview - -Workflow for editing existing calendar events via gcalcli. - -*Note:* gcalcli's edit command is interactive. This workflow uses a delete-and-recreate approach for non-interactive editing. - -* Triggers - -- "edit the meeting" -- "change my appointment" -- "reschedule" -- "update the event" -- "move my appointment" - -* Prerequisites - -- gcalcli installed and authenticated -- Event must exist on calendar - -* CRITICAL: Check All Calendars Before Rescheduling - -When rescheduling an event, ALWAYS check for conflicts at the new time across ALL calendars: - -#+begin_src bash -grep "TARGET_DATE" ~/.emacs.d/data/gcal.org # Google calendar -grep "TARGET_DATE" ~/.emacs.d/data/dcal.org # DeepSat work calendar -grep "TARGET_DATE" ~/.emacs.d/data/pcal.org # Proton calendar -#+end_src - -gcalcli only sees Google calendars — verify the new time is free across all three files before rescheduling. - -* Workflow Steps - -** 1. Parse User Request - -Extract: -- Which event (title, partial match, or date hint) -- What to change (if mentioned) - -Examples: -- "Edit the dentist appointment" → search for "dentist" -- "Reschedule tomorrow's meeting" → search tomorrow's events -- "Change the 3pm call to 4pm" → search by time - -** 2. Search for Event - -#+begin_src bash -# Search by title -gcalcli --calendar "Calendar Name" search "event title" - -# Or list events for a date -gcalcli --calendar "Calendar Name" agenda "date" "date 11:59pm" -#+end_src - -** 3. Handle Multiple Matches - -If search returns multiple events: - -#+begin_example -Found 3 events matching "meeting": - -1. Team Meeting - Feb 3, 2026 at 9:00 AM -2. Project Meeting - Feb 4, 2026 at 2:00 PM -3. Client Meeting - Feb 5, 2026 at 10:00 AM - -Which event do you want to edit? (1-3) -#+end_example - -** 4. Display Full Event Details - -Show the current event state: - -#+begin_example -Event: Team Meeting -When: Monday, Feb 3, 2026 at 9:00 AM -Duration: 1 hour -Location: Conference Room A -Description: Weekly sync -Reminders: 5 min, 0 min -Calendar: Craig -#+end_example - -** 5. Ask What to Change - -Options: -- Title -- Date/Time -- Duration -- Location -- Description -- Reminders - -Can change one or multiple fields. - -** 6. Show Updated Summary - -Before applying changes: - -#+begin_example -Updated Event: -Event: Team Standup (was: Team Meeting) -When: Monday, Feb 3, 2026 at 9:30 AM (was: 9:00 AM) -Duration: 30 minutes (was: 1 hour) -Location: Conference Room A -Description: Weekly sync -Reminders: 5 min, 0 min -Calendar: Craig - -Apply these changes? (yes/no) -#+end_example - -** 7. Explicit Confirmation - -*Do NOT apply changes until user confirms.* - -** 8. Execute Edit (Delete + Recreate) - -Since gcalcli edit is interactive, use delete + add: - -#+begin_src bash -# Delete original -gcalcli --calendar "Calendar Name" delete "Event Title" --iamaexpert - -# Recreate with updated fields -gcalcli --calendar "Calendar Name" add \ - --title "Updated Title" \ - --when "new date/time" \ - --duration NEW_MINUTES \ - --where "Location" \ - --description "Description" \ - --reminder 5 \ - --reminder 0 \ - --noprompt -#+end_src - -** 9. Verify - -Confirm the updated event exists: - -#+begin_src bash -gcalcli --calendar "Calendar Name" search "Updated Title" -#+end_src - -Report success or failure. - -* Common Edit Scenarios - -** Reschedule (Change Time) - -#+begin_example -User: "Move my dentist appointment to 3pm" - -1. Search for "dentist" -2. Show current time -3. Confirm new time: 3pm -4. Delete + recreate at new time -#+end_example - -** Change Duration - -#+begin_example -User: "Make the meeting 2 hours instead of 1" - -1. Find the meeting -2. Show current duration -3. Confirm new duration: 2 hours -4. Delete + recreate with new duration -#+end_example - -** Update Location - -#+begin_example -User: "Change the meeting location to Room B" - -1. Find the meeting -2. Show current location -3. Confirm new location -4. Delete + recreate with new location -#+end_example - -** Move to Different Day - -#+begin_example -User: "Move Friday's review to Monday" - -1. Find event on Friday -2. Show full details -3. Confirm new date (Monday) and time -4. Delete + recreate on new day -#+end_example - -* gcalcli Command Reference - -** Search - -#+begin_src bash -gcalcli search "event title" -gcalcli --calendar "Craig" search "meeting" -#+end_src - -** Delete (for edit workflow) - -#+begin_src bash -gcalcli --calendar "Calendar" delete "Event Title" --iamaexpert -#+end_src - -** Add (recreate with edits) - -#+begin_src bash -gcalcli --calendar "Calendar" add \ - --title "Title" \ - --when "date time" \ - --duration MINUTES \ - --where "Location" \ - --description "Notes" \ - --reminder 5 \ - --reminder 0 \ - --noprompt -#+end_src - -* Handling Recurring Events - -*Warning:* The delete+recreate approach deletes ALL instances of a recurring event. - -For recurring events: -1. Warn the user this will affect all instances -2. Consider using gcalcli's interactive edit mode -3. Or create a new single event and delete the series - -* Error Handling - -** Event Not Found -- Verify spelling -- Try partial match -- Check date range - -** Multiple Matches -- Show all matches -- Ask user to select one -- Use more specific search terms - -** Delete Failed -- Event may already be deleted -- Check calendar permissions - -* Related - -- [[file:add-calendar-event.org][Add Calendar Event]] - create events -- [[file:read-calendar-events.org][Read Calendar Events]] - view events -- [[file:delete-calendar-event.org][Delete Calendar Event]] - remove events -- [[file:../calendar-api-research.org][Calendar API Research]] - gcalcli reference -- cgit v1.2.3