-
Notifications
You must be signed in to change notification settings - Fork 110
Add a calendar plugin to find free overlapping times to meet with one or more people #111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: jhou1 The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
Hi @jhou1. Thanks for your PR. I'm waiting for a github.com member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
/ok-to-test Please join the openshift-eng org so things get tested automatically |
stbenjam
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really neat!
jhou1
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! I've renamed the plugin and replaced the bundled mcp server with manual configuration instruction.
|
I've joint our org and addressed the review. /test ? |
|
@jhou1: The following commands are available to trigger optional jobs: Use In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
Note
|
| Cohort / File(s) | Change Summary |
|---|---|
Marketplace / Registry \.claude-plugin/marketplace.json, docs/data.json |
Inserted a calendar plugin entry with name, source, description, version (0.0.1) and two command definitions (create-event, find-time). |
Plugin Manifest plugins/calendar/.claude-plugin/plugin.json |
Added plugin manifest: name: "calendar", description, version: "0.0.1", and author. |
Plugin README plugins/calendar/README.md |
Added comprehensive README covering features, prerequisites, setup, installation, commands, workflows, troubleshooting, and security notes. |
Top-level docs index PLUGINS.md |
Added Calendar entry to plugins index and a new "Calendar Plugin" section describing available commands. |
Command specs plugins/calendar/commands/create-event.md, plugins/calendar/commands/find-time.md |
Added detailed command documentation: synopses, argument semantics, phased implementation plans, examples, return formats, and error-handling guidance. |
Sequence Diagram(s)
sequenceDiagram
participant User
participant Assistant
participant CalendarPlugin as CalendarPlugin
participant Google as Google Calendar MCP
Note over User,Assistant: Find-time flow
User->>Assistant: "Find a time for Alice and Bob next week"
Assistant->>CalendarPlugin: calendar:find-time(emails, duration, days_ahead)
CalendarPlugin->>Google: request free/busy for participants
Google-->>CalendarPlugin: free/busy data
CalendarPlugin->>CalendarPlugin: compute overlapping slots (apply business-hours/weekend rules)
CalendarPlugin-->>Assistant: return candidate slots
Assistant-->>User: present suggestions
sequenceDiagram
participant User
participant Assistant
participant CalendarPlugin as CalendarPlugin
participant Google as Google Calendar MCP
Note over User,Assistant: Create-event flow
User->>Assistant: "Create meeting with Carol tomorrow 3pm"
Assistant->>CalendarPlugin: calendar:create-event(parsed event data)
CalendarPlugin->>User: request clarification / confirm details (if needed)
User-->>CalendarPlugin: confirmation / extra info
CalendarPlugin->>Google: create event (attendees, Meet link)
Google-->>CalendarPlugin: event created (id, join link)
CalendarPlugin-->>Assistant: success payload (event details)
Assistant-->>User: confirm event created with link/time
Estimated code review effort
🎯 2 (Simple) | ⏱️ ~10 minutes
- Pay attention to:
- JSON validity and schema conformance in
\.claude-plugin/marketplace.json,docs/data.json, andplugins/calendar/.claude-plugin/plugin.json. - Consistency of command names/argument names between
docs/data.json,create-event.md, andfind-time.md. - README for any placeholder credentials or inaccurate setup steps.
- JSON validity and schema conformance in
Pre-merge checks and finishing touches
✅ Passed checks (7 passed)
| Check name | Status | Explanation |
|---|---|---|
| Description Check | ✅ Passed | Check skipped - CodeRabbit’s high-level summary is enabled. |
| Title check | ✅ Passed | The title accurately reflects the main changes: adding a calendar plugin with commands to find overlapping free time and create calendar events. |
| Docstring Coverage | ✅ Passed | No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. |
| No Real People Names In Style References | ✅ Passed | Pull request contains no real people's names in plugin commands, documentation, examples, or style references. |
| No Assumed Git Remote Names | ✅ Passed | Comprehensive search found no hardcoded git remote names (origin, upstream) in calendar plugin files, marketplace.json, PLUGINS.md, or docs/data.json. |
| Git Push Safety Rules | ✅ Passed | No git push commands, force push operations, or automated push workflows detected in PR changes. |
| No Untrusted Mcp Servers | ✅ Passed | Pull request adds calendar plugin documentation and configuration but does not introduce MCP server installations from untrusted sources. |
✨ Finishing touches
🧪 Generate unit tests (beta)
- Create PR with unit tests
- Post copyable unit tests in a comment
📜 Recent review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to data retention organization setting
📒 Files selected for processing (7)
.claude-plugin/marketplace.json(1 hunks)PLUGINS.md(2 hunks)docs/data.json(1 hunks)plugins/calendar/.claude-plugin/plugin.json(1 hunks)plugins/calendar/README.md(1 hunks)plugins/calendar/commands/create-event.md(1 hunks)plugins/calendar/commands/find-time.md(1 hunks)
✅ Files skipped from review due to trivial changes (1)
- plugins/calendar/commands/create-event.md
🚧 Files skipped from review as they are similar to previous changes (3)
- plugins/calendar/.claude-plugin/plugin.json
- .claude-plugin/marketplace.json
- docs/data.json
🧰 Additional context used
🪛 LanguageTool
PLUGINS.md
[style] ~33-~33: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ... ### Calendar Plugin find overlapping free time to meet with people Commands: - **...
(FREE_TIME)
[style] ~37-~37: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...tes] [days_ahead]`** - Find overlapping free time to meet with one or more people. See [...
(FREE_TIME)
plugins/calendar/README.md
[style] ~7-~7: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...Smart Time Finding** - Find overlapping free time across multiple participants' calendars...
(FREE_TIME)
[style] ~69-~69: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: .../calendar:find-time` - Find Overlapping Free Time Find overlapping available time with m...
(FREE_TIME)
[style] ~170-~170: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...e necessary scopes ### "No overlapping free time found" - Try a shorter meeting duration...
(FREE_TIME)
plugins/calendar/commands/find-time.md
[style] ~33-~33: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...for each participant - Find overlapping free time across all participants - Filter out bl...
(FREE_TIME)
[style] ~47-~47: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...Handling - Handle cases where no common free time exists - Provide helpful suggestions (s...
(FREE_TIME)
🔇 Additional comments (2)
plugins/calendar/commands/find-time.md (1)
1-80: Documentation is comprehensive and well-structured.The implementation phases are clearly outlined, error handling is gracefully described, and examples progressively demonstrate usage complexity. The past grammar correction at line 49 has been properly applied.
plugins/calendar/README.md (1)
20-56: Package name is correct and properly documented.The @cocal/google-calendar-mcp package exists on npm and is documented in the GitHub repository at nspady/google-calendar-mcp. The setup instructions reference the correct package name, so users will not encounter installation issues.
Comment @coderabbitai help to get the list of available commands and usage tips.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
♻️ Duplicate comments (1)
PLUGINS.md (1)
33-33: Capitalize opening word for consistency.Line 33 should start with an uppercase "F" to align with the command descriptions (line 37) and the past review feedback.
-find overlapping free time to meet with people +Find overlapping free time to meet with people
🧹 Nitpick comments (2)
plugins/calendar/commands/create-event.md (1)
10-10: Add language identifiers to fenced code blocks.Fenced code blocks should specify a language for syntax highlighting. These blocks should use a language tag like
bashortext.-``` +```text /calendar:create-event <natural_language_prompt_for_the_event> -``` +```Apply the same pattern to lines 82, 87, 92, 97, and 102.
Also applies to: 82-82, 87-87, 92-92, 97-97, 102-102
plugins/calendar/commands/find-time.md (1)
10-10: Add language identifiers to fenced code blocks.Fenced code blocks should specify a language for syntax highlighting. These blocks should use a language tag like
text.-``` +```text /calendar:find-time <email_addresses> [duration_in_minutes] [days_ahead] -``` +```Apply the same pattern to lines 63, 68, and 73.
Also applies to: 63-63, 68-68, 73-73
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting
📒 Files selected for processing (7)
.claude-plugin/marketplace.json(1 hunks)PLUGINS.md(2 hunks)docs/data.json(1 hunks)plugins/calendar/.claude-plugin/plugin.json(1 hunks)plugins/calendar/README.md(1 hunks)plugins/calendar/commands/create-event.md(1 hunks)plugins/calendar/commands/find-time.md(1 hunks)
🧰 Additional context used
🪛 LanguageTool
plugins/calendar/commands/create-event.md
[grammar] ~49-~49: Ensure spelling is correct
Context: ...input until user confirms you correctly intepreted the intent. ### Phase 5: Create Calend...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
PLUGINS.md
[style] ~33-~33: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ... ### Calendar Plugin find overlapping free time to meet with people Commands: - **...
(FREE_TIME)
[style] ~37-~37: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...tes] [days_ahead]`** - Find overlapping free time to meet with one or more people. See [...
(FREE_TIME)
plugins/calendar/README.md
[style] ~7-~7: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...Smart Time Finding** - Find overlapping free time across multiple participants' calendars...
(FREE_TIME)
[style] ~69-~69: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: .../calendar:find-time` - Find Overlapping Free Time Find overlapping available time with m...
(FREE_TIME)
[style] ~170-~170: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...e necessary scopes ### "No overlapping free time found" - Try a shorter meeting duration...
(FREE_TIME)
plugins/calendar/commands/find-time.md
[style] ~33-~33: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...for each participant - Find overlapping free time across all participants - Filter out bl...
(FREE_TIME)
[style] ~47-~47: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...Handling - Handle cases where no common free time exists - Provide helpful suggestions (s...
(FREE_TIME)
🪛 markdownlint-cli2 (0.18.1)
plugins/calendar/commands/create-event.md
10-10: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
82-82: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
87-87: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
92-92: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
97-97: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
102-102: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
plugins/calendar/commands/find-time.md
10-10: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
63-63: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
68-68: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
73-73: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🔇 Additional comments (4)
plugins/calendar/README.md (1)
1-189: Documentation is comprehensive and well-structured.The setup guide, usage examples, and troubleshooting sections are clear and actionable. All prerequisites and installation steps are properly documented.
plugins/calendar/.claude-plugin/plugin.json (1)
1-8: Plugin manifest is valid and complete.JSON structure is well-formed with all required metadata.
docs/data.json (1)
554-573: Calendar plugin entry is complete and properly structured.All required metadata is present: plugin name, description, version, commands with full specifications, and readme flag.
.claude-plugin/marketplace.json (1)
82-86: Marketplace entry is properly structured and positioned.Calendar plugin registration is complete with correct source path and description.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (4)
plugins/calendar/commands/create-event.md (2)
10-12: Specify language for code block to comply with linting rules.Specifying a language improves content rendering by using the correct syntax highlighting for code. The Synopsis code block should specify
bashas the language.## Synopsis -``` +```bash /calendar:create-event <natural_language_prompt_for_the_event>--- `82-104`: **Add language specifier to all example code blocks.** The example code blocks (lines 82–84, 87–89, 92–94, 97–99, and 102–104) are missing language specifications for markdownlint compliance. Each example shows a command invocation and should be marked as `bash`. ```diff 1. **Simple meeting**: - ``` + ```bash /calendar:create-event Team standup tomorrow at 9am for 30 minutes ``` 2. **Meeting with specific attendees**: - ``` + ```bash /calendar:create-event Project review Friday 2pm with alice@company.com and bob@company.com ``` 3. **Detailed planning session**: - ``` + ```bash /calendar:create-event Quarterly planning session next Monday 10am-12pm with the whole engineering team ``` 4. **Quick 1:1 meeting**: - ``` + ```bash /calendar:create-event Coffee chat with Sarah tomorrow 3pm for 45 minutes ``` 5. **All-hands meeting**: - ``` + ```bash /calendar:create-event Monthly all-hands meeting first Friday of next month 2-3pm with leadership team ```plugins/calendar/commands/find-time.md (2)
10-12: Specify language for Synopsis code block.Specifying a language improves content rendering by using the correct syntax highlighting for code. Add
bashas the language identifier.## Synopsis -``` +```bash /calendar:find-time <email_addresses> [duration_in_minutes] [days_ahead]--- `63-75`: **Add language specifier to all example code blocks.** The example code blocks (lines 63–65, 69–71, and 74–76) lack language specifications for markdownlint compliance. Mark them as `bash` since they show command invocations. ```diff 1. **Basic usage with two people**: - ``` + ```bash /calendar:find-time alice@company.com,bob@company.com 60 ``` 2. **Including date range**: - ``` + ```bash /calendar:find-time team@company.com,manager@company.com 30 7 ``` 3. **Multiple participants with specific date**: - ``` + ```bash /calendar:find-time alice@company.com,bob@company.com,carol@company.com 45 15 ```
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting
📒 Files selected for processing (3)
plugins/calendar/README.md(1 hunks)plugins/calendar/commands/create-event.md(1 hunks)plugins/calendar/commands/find-time.md(1 hunks)
🧰 Additional context used
🪛 LanguageTool
plugins/calendar/README.md
[style] ~7-~7: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...Smart Time Finding** - Find overlapping free time across multiple participants' calendars...
(FREE_TIME)
[style] ~69-~69: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: .../calendar:find-time` - Find Overlapping Free Time Find overlapping available time with m...
(FREE_TIME)
[style] ~170-~170: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...e necessary scopes ### "No overlapping free time found" - Try a shorter meeting duration...
(FREE_TIME)
plugins/calendar/commands/find-time.md
[style] ~33-~33: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...for each participant - Find overlapping free time across all participants - Filter out bl...
(FREE_TIME)
[style] ~47-~47: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...Handling - Handle cases where no common free time exists - Provide helpful suggestions (s...
(FREE_TIME)
🪛 markdownlint-cli2 (0.18.1)
plugins/calendar/commands/create-event.md
10-10: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
82-82: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
87-87: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
92-92: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
97-97: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
102-102: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🔇 Additional comments (1)
plugins/calendar/README.md (1)
1-196: Excellent documentation structure and content.The README provides comprehensive setup instructions, clear examples, and helpful troubleshooting guidance. The documentation is well-organized and accessible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (1)
plugins/calendar/commands/create-event.md (1)
49-49: Fix spelling error: "intepreted" → "interpreted".This typo was flagged in a previous review and should be corrected.
- If user confirms, proceed to phase 5, otherwise, modify the summary, meeting time, attendees, description based on user's input until user confirms you correctly intepreted the intent. + If user confirms, proceed to phase 5, otherwise, modify the summary, meeting time, attendees, description based on user's input until user confirms you correctly interpreted the intent.
🧹 Nitpick comments (1)
plugins/calendar/commands/find-time.md (1)
41-41: Use en-dash instead of hyphen in number range.For style consistency, replace the hyphen with an en-dash in the number range.
- - Sort potential meeting times by preference (earlier in week, business hours, etc.) - - Present top 3-5 options with clear time formatting + - Sort potential meeting times by preference (earlier in week, business hours, etc.) + - Present top 3–5 options with clear time formatting
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting
📒 Files selected for processing (3)
plugins/calendar/README.md(1 hunks)plugins/calendar/commands/create-event.md(1 hunks)plugins/calendar/commands/find-time.md(1 hunks)
🧰 Additional context used
🪛 LanguageTool
plugins/calendar/commands/find-time.md
[style] ~33-~33: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...for each participant - Find overlapping free time across all participants - Filter out bl...
(FREE_TIME)
[typographical] ~41-~41: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...ek, business hours, etc.) - Present top 3-5 options with clear time formatting - Di...
(HYPHEN_TO_EN)
[style] ~47-~47: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...Handling - Handle cases where no common free time exists - Provide helpful suggestions (s...
(FREE_TIME)
plugins/calendar/README.md
[style] ~7-~7: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...Smart Time Finding** - Find overlapping free time across multiple participants' calendars...
(FREE_TIME)
[style] ~69-~69: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: .../calendar:find-time` - Find Overlapping Free Time Find overlapping available time with m...
(FREE_TIME)
[style] ~170-~170: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...e necessary scopes ### "No overlapping free time found" - Try a shorter meeting duration...
(FREE_TIME)
🪛 markdownlint-cli2 (0.18.1)
plugins/calendar/commands/create-event.md
10-10: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🔇 Additional comments (2)
plugins/calendar/commands/find-time.md (1)
49-49: ✓ Past review feedback addressed.The corrections flagged in the previous review have been properly applied ("address" and "might be" are now correct). Well done addressing the feedback.
plugins/calendar/README.md (1)
1-50: Excellent plugin documentation and setup guide.The README provides comprehensive setup instructions, clear feature descriptions, helpful workflow examples, and robust troubleshooting guidance. The security and privacy considerations section is particularly well done. This documentation should serve users well in getting the plugin configured and operational.
…to meet with one or more people across timezones.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
plugins/calendar/README.md (1)
49-49: Add guidance for Windows users regarding the credentials file path.The environment variable setup shows a Unix-specific path (
~/.config/...). Consider adding a note for Windows users on the typical location of credentials files (e.g.,%APPDATA%\...or similar).
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting
📒 Files selected for processing (3)
plugins/calendar/README.md(1 hunks)plugins/calendar/commands/create-event.md(1 hunks)plugins/calendar/commands/find-time.md(1 hunks)
🧰 Additional context used
🪛 LanguageTool
plugins/calendar/README.md
[style] ~7-~7: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...Smart Time Finding** - Find overlapping free time across multiple participants' calendars...
(FREE_TIME)
[style] ~69-~69: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: .../calendar:find-time` - Find Overlapping Free Time Find overlapping available time with m...
(FREE_TIME)
[style] ~170-~170: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...e necessary scopes ### "No overlapping free time found" - Try a shorter meeting duration...
(FREE_TIME)
plugins/calendar/commands/find-time.md
[style] ~33-~33: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...for each participant - Find overlapping free time across all participants - Filter out bl...
(FREE_TIME)
[style] ~47-~47: The word “free” tends to be overused. Consider using an alternative wording to strengthen your writing.
Context: ...Handling - Handle cases where no common free time exists - Provide helpful suggestions (s...
(FREE_TIME)
🔇 Additional comments (3)
plugins/calendar/commands/create-event.md (1)
52-53: No issues found; MCP function naming is consistent.The verification confirms that
mcp__google-calendar__create-eventfollows the established naming convention used consistently across calendar command documentation. All MCP function references use themcp__<service>__<function-name>pattern with kebab-case, as seen in both find-time.md and create-event.md.plugins/calendar/README.md (1)
44-44: No changes needed.The package
@cocal/google-calendar-mcpis a legitimate npm package—an MCP server for Google Calendar operations with source at github.com/nspady/google-calendar-mcp. The installation reference in the README is correct.plugins/calendar/commands/find-time.md (1)
27-29: MCP function names verified as correct.All three functions referenced in the documentation are valid and match the @cocal/google-calendar-mcp package API:
mcp__google-calendar__get-freebusy✓mcp__google-calendar__get-current-time✓mcp__google-calendar__create-event✓No changes required.
Add a meet plugin to find free overlapping times to meet with one or more people.
What this PR does / why we need it
Adds a meet plugin and two slash commands
It's hard to visualize everyone's availability at a glance on Google Calendar, AI came to help.
Summary by CodeRabbit
New Features
/calendar:create-eventcommand to create calendar events with automatic Meet link generation/calendar:find-timecommand to find overlapping availability across multiple participantsDocumentation