aboutsummaryrefslogtreecommitdiff
path: root/.ai/workflows/delete-calendar-event.org
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-06 21:59:52 -0500
committerCraig Jennings <c@cjennings.net>2026-05-06 21:59:52 -0500
commitd81b23ad6b6e437dfe3c338a00a4be39bc555146 (patch)
tree2d4b0d7890fd1fc70d81282b81fed2808c28a106 /.ai/workflows/delete-calendar-event.org
parent201377f57430ef28d02e703a2191434bbee55c75 (diff)
downloadrulesets-d81b23ad6b6e437dfe3c338a00a4be39bc555146.tar.gz
rulesets-d81b23ad6b6e437dfe3c338a00a4be39bc555146.zip
chore(ai): initialize project notes and Claude tooling surfaces
Replace the seed notes.org with project-specific context (layout, install modes, task tracker location, recent inflection point). Bring in the synced template surfaces (protocols, workflows, scripts, references, retrospectives, someday-maybe) as tracked content for this content/documentation project.
Diffstat (limited to '.ai/workflows/delete-calendar-event.org')
-rw-r--r--.ai/workflows/delete-calendar-event.org190
1 files changed, 190 insertions, 0 deletions
diff --git a/.ai/workflows/delete-calendar-event.org b/.ai/workflows/delete-calendar-event.org
new file mode 100644
index 0000000..5bb92a1
--- /dev/null
+++ b/.ai/workflows/delete-calendar-event.org
@@ -0,0 +1,190 @@
+#+TITLE: Delete Calendar Event Workflow
+#+AUTHOR: Craig Jennings & Claude
+#+DATE: 2026-02-01
+
+* Overview
+
+Workflow for deleting calendar events. Uses the Google Calendar MCP server (preferred) or gcalcli (fallback, personal account only).
+
+* Triggers
+
+- "delete the meeting"
+- "cancel my appointment"
+- "remove the event"
+- "clear my calendar for..."
+
+* Prerequisites
+
+- Google Calendar MCP server configured and authenticated (=@cocal/google-calendar-mcp=)
+- Two accounts available: =personal= (Craig Google) and =work= (Craig Deepsat)
+- Fallback: gcalcli installed (personal account only)
+- Event must exist on calendar
+
+* Note: Calendar Visibility
+
+The MCP server can delete events from both personal and work Google calendars. Proton calendar events are visible in =~/.emacs.d/data/pcal.org= but cannot be modified from here.
+
+* Workflow Steps
+
+** 1. Parse User Request
+
+Extract:
+- Which event (title, partial match, or date hint)
+- Date context (if provided)
+
+Examples:
+- "Delete the dentist appointment" → search for "dentist"
+- "Cancel tomorrow's meeting" → search tomorrow's events
+- "Remove the 3pm call" → search by time
+
+** 2. Search for Event
+
+*** MCP (preferred)
+Use =search-events= or =list-events= MCP tool with appropriate =account_id= ("personal" or "work").
+
+*** gcalcli (fallback, personal only)
+#+begin_src bash
+gcalcli --calendar "Calendar Name" search "event title"
+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 delete? (1-3)
+#+end_example
+
+** 4. Display Full Event Details
+
+Show the event that will be deleted:
+
+#+begin_example
+Event to Delete:
+================
+Event: Team Meeting
+When: Monday, Feb 3, 2026 at 9:00 AM
+Duration: 1 hour
+Location: Conference Room A
+Description: Weekly sync
+Calendar: Work
+#+end_example
+
+** 5. Explicit Confirmation
+
+Ask clearly:
+
+#+begin_example
+Delete this event? (yes/no)
+#+end_example
+
+*Do NOT delete until user explicitly confirms with "yes".*
+
+** 6. Execute Delete
+
+*** MCP (preferred)
+Use the =delete-event= MCP tool:
+- =account_id=: "personal" or "work"
+- =calendar_id=: calendar name or ID
+- =event_id=: event ID (obtained from search/list results)
+
+*** gcalcli (fallback, personal only)
+
+gcalcli delete requires interactive confirmation. Pipe "y" to confirm:
+
+#+begin_src bash
+echo "y" | gcalcli --calendar "Calendar Name" delete "Event Title"
+#+end_src
+
+Use a date range to narrow matches:
+
+#+begin_src bash
+echo "y" | gcalcli --calendar "Calendar Name" delete "Event Title" 2026-02-14 2026-02-15
+#+end_src
+
+** 7. Verify
+
+Confirm the event is gone:
+
+*** MCP
+Use =search-events= or =list-events= to verify the event no longer appears.
+
+*** gcalcli (fallback)
+#+begin_src bash
+gcalcli --calendar "Calendar Name" search "Event Title"
+#+end_src
+
+Report success or failure to user.
+
+* Recurring Events
+
+*Warning:* Deleting a recurring event deletes ALL instances.
+
+For recurring events:
+1. Warn the user that all instances will be deleted
+2. Ask for confirmation specifically mentioning "all occurrences"
+3. Consider if they only want to delete one instance (not supported by simple delete)
+
+#+begin_example
+This is a recurring event. Deleting it will remove ALL occurrences.
+
+Delete all instances of "Weekly Standup"? (yes/no)
+#+end_example
+
+* Error Handling
+
+** Event Not Found
+- Verify spelling
+- Try partial match
+- Check date range
+- May have already been deleted
+
+** Delete Failed
+- Check calendar permissions
+- Verify event exists
+- Try with --calendar flag
+
+** Wrong Event Deleted
+- Cannot undo gcalcli delete
+- Would need to recreate the event manually
+
+* Safety Considerations
+
+1. *Always show full event details* before asking for confirmation
+2. *Never delete without explicit "yes"* from user
+3. *Warn about recurring events* before deletion
+4. *Verify deletion* by searching after
+5. *Read-only calendars* (like Christine's) cannot have events deleted
+
+* Read-Only Calendars
+
+Some calendars are read-only:
+
+| Calendar | Can Delete? | Account |
+|---------------------------+-------------+----------|
+| Craig Google | Yes | personal |
+| Christine | Yes | personal |
+| Craig Deepsat | Yes | work |
+| Todoist | Yes | personal |
+| Craig Jennings (TripIt) | No | personal |
+| Holidays in United States | No | personal |
+| Craig Proton | No | personal |
+
+If user tries to delete from read-only calendar:
+
+#+begin_example
+Cannot delete from "Craig Proton" - this is a read-only calendar.
+#+end_example
+
+* Related
+
+- [[file:add-calendar-event.org][Add Calendar Event]] - create events
+- [[file:read-calendar-events.org][Read Calendar Events]] - view events
+- [[file:edit-calendar-event.org][Edit Calendar Event]] - modify events