Skip to content

Conversation

@jhou1
Copy link

@jhou1 jhou1 commented Oct 31, 2025

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

  • meet:find-time to look up free overlapping time to meet with people.
  • meet:create-event to create a Google Calendar event based on natural language.

It's hard to visualize everyone's availability at a glance on Google Calendar, AI came to help.

Summary by CodeRabbit

  • New Features

    • Added Calendar plugin for scheduling and meeting management with Google Calendar integration
    • New /calendar:create-event command to create calendar events with automatic Meet link generation
    • New /calendar:find-time command to find overlapping availability across multiple participants
  • Documentation

    • Added comprehensive plugin documentation, command references, and usage examples

@openshift-ci openshift-ci bot requested review from bentito and dgoodwin October 31, 2025 09:57
@openshift-ci
Copy link

openshift-ci bot commented Oct 31, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: jhou1
Once this PR has been reviewed and has the lgtm label, please assign brandisher for approval. For more information see the Code Review Process.

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Oct 31, 2025
@openshift-ci
Copy link

openshift-ci bot commented Oct 31, 2025

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 /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

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.

@stbenjam
Copy link
Member

/ok-to-test

Please join the openshift-eng org so things get tested automatically

@openshift-ci openshift-ci bot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Oct 31, 2025
@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 31, 2025
Copy link
Member

@stbenjam stbenjam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really neat!

@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 3, 2025
Copy link
Author

@jhou1 jhou1 left a 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.

@jhou1 jhou1 changed the title Add a meet plugin to find free overlapping times to meet with one or more people Add a calendar plugin to find free overlapping times to meet with one or more people Nov 3, 2025
@jhou1
Copy link
Author

jhou1 commented Nov 5, 2025

I've joint our org and addressed the review. Lint did not run.

/test ?

@openshift-ci
Copy link

openshift-ci bot commented Nov 5, 2025

@jhou1: The following commands are available to trigger optional jobs:

/test images

Use /test all to run all jobs.

In response to this:

I've joint our org and addressed the review. Link did not run.

/test ?

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.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 5, 2025

Note

.coderabbit.yaml has unrecognized properties

CodeRabbit is using all valid settings from your configuration. Unrecognized properties (listed below) have been ignored and may indicate typos or deprecated fields that can be removed.

⚠️ Parsing warnings (1)
Validation error: Unrecognized key(s) in object: 'tools'
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Walkthrough

Adds a new Calendar plugin: registry entries (marketplace and docs), a plugin manifest and README, plus two command specifications (calendar:create-event, calendar:find-time) with detailed docs and examples.

Changes

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
Loading
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
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Pay attention to:
    • JSON validity and schema conformance in \.claude-plugin/marketplace.json, docs/data.json, and plugins/calendar/.claude-plugin/plugin.json.
    • Consistency of command names/argument names between docs/data.json, create-event.md, and find-time.md.
    • README for any placeholder credentials or inaccurate setup steps.

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

📥 Commits

Reviewing files that changed from the base of the PR and between eac9744 and 3d66f78.

📒 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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a 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 bash or text.

-```
+```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

📥 Commits

Reviewing files that changed from the base of the PR and between f71e9be and 7362993.

📒 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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a 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 bash as 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 bash as 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

📥 Commits

Reviewing files that changed from the base of the PR and between 7362993 and 4ff1b7e.

📒 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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a 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

📥 Commits

Reviewing files that changed from the base of the PR and between 4ff1b7e and cf15d01.

📒 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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a 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

📥 Commits

Reviewing files that changed from the base of the PR and between cf15d01 and eac9744.

📒 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-event follows the established naming convention used consistently across calendar command documentation. All MCP function references use the mcp__<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-mcp is 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ok-to-test Indicates a non-member PR verified by an org member that is safe to test.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants