From b55e2b90326e4c177c993e4273d823ed000dd9e2 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 5 Mar 2026 04:06:23 +0000 Subject: [PATCH 1/2] Add focused Google Workspace service plugins Co-authored-by: n2parko --- .cursor-plugin/marketplace.json | 15 ++++++ README.md | 3 ++ .../.cursor-plugin/plugin.json | 30 ++++++++++++ gws-calendar-meeting-pilot/LICENSE | 21 ++++++++ gws-calendar-meeting-pilot/README.md | 46 ++++++++++++++++++ .../agents/meeting-briefing-pilot.md | 26 ++++++++++ gws-calendar-meeting-pilot/mcp.json | 14 ++++++ .../skills/prepare-meeting-brief/SKILL.md | 47 ++++++++++++++++++ .../.cursor-plugin/plugin.json | 30 ++++++++++++ gws-drive-release-publisher/LICENSE | 21 ++++++++ gws-drive-release-publisher/README.md | 45 +++++++++++++++++ .../agents/release-publisher-coordinator.md | 28 +++++++++++ gws-drive-release-publisher/mcp.json | 14 ++++++ .../skills/publish-release-folder/SKILL.md | 48 +++++++++++++++++++ gws-gmail-triage/.cursor-plugin/plugin.json | 30 ++++++++++++ gws-gmail-triage/LICENSE | 21 ++++++++ gws-gmail-triage/README.md | 45 +++++++++++++++++ .../agents/inbox-operations-lead.md | 28 +++++++++++ gws-gmail-triage/mcp.json | 14 ++++++ .../skills/daily-inbox-triage/SKILL.md | 48 +++++++++++++++++++ 20 files changed, 574 insertions(+) create mode 100644 gws-calendar-meeting-pilot/.cursor-plugin/plugin.json create mode 100644 gws-calendar-meeting-pilot/LICENSE create mode 100644 gws-calendar-meeting-pilot/README.md create mode 100644 gws-calendar-meeting-pilot/agents/meeting-briefing-pilot.md create mode 100644 gws-calendar-meeting-pilot/mcp.json create mode 100644 gws-calendar-meeting-pilot/skills/prepare-meeting-brief/SKILL.md create mode 100644 gws-drive-release-publisher/.cursor-plugin/plugin.json create mode 100644 gws-drive-release-publisher/LICENSE create mode 100644 gws-drive-release-publisher/README.md create mode 100644 gws-drive-release-publisher/agents/release-publisher-coordinator.md create mode 100644 gws-drive-release-publisher/mcp.json create mode 100644 gws-drive-release-publisher/skills/publish-release-folder/SKILL.md create mode 100644 gws-gmail-triage/.cursor-plugin/plugin.json create mode 100644 gws-gmail-triage/LICENSE create mode 100644 gws-gmail-triage/README.md create mode 100644 gws-gmail-triage/agents/inbox-operations-lead.md create mode 100644 gws-gmail-triage/mcp.json create mode 100644 gws-gmail-triage/skills/daily-inbox-triage/SKILL.md diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index 918bb39..371a674 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -32,6 +32,21 @@ "name": "ralph-loop", "source": "ralph-loop", "description": "Iterative self-referential AI loops using the Ralph Wiggum technique." + }, + { + "name": "gws-gmail-triage", + "source": "gws-gmail-triage", + "description": "Daily Gmail triage workflows with follow-up scheduling in Calendar." + }, + { + "name": "gws-drive-release-publisher", + "source": "gws-drive-release-publisher", + "description": "Publish Drive release artifacts with controlled sharing and Chat announcements." + }, + { + "name": "gws-calendar-meeting-pilot", + "source": "gws-calendar-meeting-pilot", + "description": "Build meeting briefs from Calendar events with related Gmail and Drive context." } ] } diff --git a/README.md b/README.md index 9aad033..834adc6 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,9 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc | [Cursor Team Kit](cursor-team-kit/) | Developer Tools | Internal-style workflows for CI, code review, shipping, and testing | | [Create Plugin](create-plugin/) | Developer Tools | Meta workflows for creating Cursor plugins with scaffolding and submission checks | | [Ralph Loop](ralph-loop/) | Developer Tools | Iterative self-referential AI loops using the Ralph Wiggum technique | +| [GWS Gmail Triage](gws-gmail-triage/) | Productivity | Daily Gmail triage workflows with follow-up scheduling in Calendar | +| [GWS Drive Release Publisher](gws-drive-release-publisher/) | Productivity | Publish Drive release artifacts with controlled sharing and Chat announcements | +| [GWS Calendar Meeting Pilot](gws-calendar-meeting-pilot/) | Productivity | Build meeting briefs from Calendar events with related Gmail and Drive context | ## Repository structure diff --git a/gws-calendar-meeting-pilot/.cursor-plugin/plugin.json b/gws-calendar-meeting-pilot/.cursor-plugin/plugin.json new file mode 100644 index 0000000..fc96524 --- /dev/null +++ b/gws-calendar-meeting-pilot/.cursor-plugin/plugin.json @@ -0,0 +1,30 @@ +{ + "name": "gws-calendar-meeting-pilot", + "displayName": "GWS Calendar Meeting Pilot", + "version": "1.0.0", + "description": "Prepare meeting briefs from Calendar events using Drive and Gmail context.", + "author": { + "name": "Cursor", + "email": "plugins@cursor.com" + }, + "homepage": "https://github.com/cursor/plugins", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/avatar.png", + "keywords": [ + "google-workspace", + "calendar", + "gmail", + "drive", + "meetings" + ], + "category": "productivity", + "tags": [ + "calendar", + "meeting-prep", + "briefing" + ], + "skills": "./skills/", + "agents": "./agents/", + "mcpServers": "./mcp.json" +} diff --git a/gws-calendar-meeting-pilot/LICENSE b/gws-calendar-meeting-pilot/LICENSE new file mode 100644 index 0000000..ca2bba7 --- /dev/null +++ b/gws-calendar-meeting-pilot/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Cursor + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/gws-calendar-meeting-pilot/README.md b/gws-calendar-meeting-pilot/README.md new file mode 100644 index 0000000..bfcaa89 --- /dev/null +++ b/gws-calendar-meeting-pilot/README.md @@ -0,0 +1,46 @@ +# GWS Calendar Meeting Pilot + +Use-case specific plugin for preparing meeting briefs from Calendar events, related Gmail threads, and Drive docs. + +## Installation + +```bash +/add-plugin gws-calendar-meeting-pilot +``` + +## What this plugin includes + +- A meeting-prep skill: `prepare-meeting-brief` +- A dedicated briefing agent: `meeting-briefing-pilot` +- Scoped MCP server config for Calendar + Drive + Gmail: `gws mcp -s calendar,drive,gmail -w -e` + +## Setup + +1. Install Google Workspace CLI: + ```bash + npm install -g @googleworkspace/cli + ``` +2. Authenticate: + ```bash + gws auth setup + ``` +3. Ensure `gws` is on your `PATH`. + +Optional upstream skills: + +```bash +npx skills add https://github.com/googleworkspace/cli/tree/main/skills/gws-calendar +npx skills add https://github.com/googleworkspace/cli/tree/main/skills/gws-drive +npx skills add https://github.com/googleworkspace/cli/tree/main/skills/gws-gmail +``` + +## Typical flow + +1. Select a meeting window and target calendar. +2. Build briefs for meetings that match selection criteria. +3. Review unresolved questions and prep actions. +4. Optionally save briefs to Drive. + +## License + +MIT diff --git a/gws-calendar-meeting-pilot/agents/meeting-briefing-pilot.md b/gws-calendar-meeting-pilot/agents/meeting-briefing-pilot.md new file mode 100644 index 0000000..8c189e8 --- /dev/null +++ b/gws-calendar-meeting-pilot/agents/meeting-briefing-pilot.md @@ -0,0 +1,26 @@ +--- +name: meeting-briefing-pilot +description: Build high-signal meeting briefs by combining Calendar event data with Gmail and Drive context. +model: fast +--- + +# Meeting briefing pilot + +Meeting-prep specialist for synthesizing pre-read context from Google Workspace sources. + +## Trigger + +Use when users need prep briefs for upcoming internal or external meetings. + +## Workflow + +1. Gather meetings in scope. +2. Pull related email and document context. +3. Summarize into a practical brief with open decisions. +4. Save/share brief if requested. + +## Output + +- Brief per selected meeting +- Linked source artifacts +- Critical unknowns before meeting start diff --git a/gws-calendar-meeting-pilot/mcp.json b/gws-calendar-meeting-pilot/mcp.json new file mode 100644 index 0000000..6244912 --- /dev/null +++ b/gws-calendar-meeting-pilot/mcp.json @@ -0,0 +1,14 @@ +{ + "mcpServers": { + "gws-calendar-meeting-pilot": { + "command": "gws", + "args": [ + "mcp", + "-s", + "calendar,drive,gmail", + "-w", + "-e" + ] + } + } +} diff --git a/gws-calendar-meeting-pilot/skills/prepare-meeting-brief/SKILL.md b/gws-calendar-meeting-pilot/skills/prepare-meeting-brief/SKILL.md new file mode 100644 index 0000000..e787bef --- /dev/null +++ b/gws-calendar-meeting-pilot/skills/prepare-meeting-brief/SKILL.md @@ -0,0 +1,47 @@ +--- +name: prepare-meeting-brief +description: Generate an actionable meeting brief from upcoming Calendar events with relevant Gmail threads and Drive docs. +--- + +# Prepare meeting brief + +## Trigger + +Use when a user wants concise prep packets for upcoming meetings, including context, open questions, and linked artifacts. + +## Required inputs + +- Calendar ID and date window +- Meeting selection rules (all, by attendees, by title pattern, or by priority) +- Preferred brief format (short bullets or full structured brief) +- Optional destination for saved brief (Drive doc/folder) + +## Workflow + +1. Fetch upcoming Calendar events in the selected window. +2. For each selected event, gather linked artifacts from event description and attachments. +3. Search related Gmail threads by participants, subject, and recency. +4. Summarize context into sections: objective, decisions pending, risks, and prep checklist. +5. Optionally create/update a Drive document containing the brief. +6. Return a per-meeting summary with links and unresolved items. + +## Tooling + +- Prefer `gws mcp -s calendar,drive,gmail -w -e`. +- Optional upstream skills: + - `npx skills add https://github.com/googleworkspace/cli/tree/main/skills/gws-calendar` + - `npx skills add https://github.com/googleworkspace/cli/tree/main/skills/gws-drive` + - `npx skills add https://github.com/googleworkspace/cli/tree/main/skills/gws-gmail` + +## Guardrails + +- Do not include sensitive email content beyond what is required for meeting prep. +- Respect attendee privacy; avoid sharing private threads across unrelated meetings. +- Keep summaries factual and reference source links for key claims. +- Confirm before writing briefs to shared folders. + +## Output + +- Meeting brief(s) with objective, context, and action items +- Source links (Calendar event, Gmail threads, Drive docs) +- Open questions requiring user input diff --git a/gws-drive-release-publisher/.cursor-plugin/plugin.json b/gws-drive-release-publisher/.cursor-plugin/plugin.json new file mode 100644 index 0000000..75aa328 --- /dev/null +++ b/gws-drive-release-publisher/.cursor-plugin/plugin.json @@ -0,0 +1,30 @@ +{ + "name": "gws-drive-release-publisher", + "displayName": "GWS Drive Release Publisher", + "version": "1.0.0", + "description": "Publish release artifacts from Drive with controlled sharing and Chat notifications.", + "author": { + "name": "Cursor", + "email": "plugins@cursor.com" + }, + "homepage": "https://github.com/cursor/plugins", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/avatar.png", + "keywords": [ + "google-workspace", + "drive", + "chat", + "release", + "publishing" + ], + "category": "productivity", + "tags": [ + "drive", + "release-management", + "chat-ops" + ], + "skills": "./skills/", + "agents": "./agents/", + "mcpServers": "./mcp.json" +} diff --git a/gws-drive-release-publisher/LICENSE b/gws-drive-release-publisher/LICENSE new file mode 100644 index 0000000..ca2bba7 --- /dev/null +++ b/gws-drive-release-publisher/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Cursor + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/gws-drive-release-publisher/README.md b/gws-drive-release-publisher/README.md new file mode 100644 index 0000000..f9e95d5 --- /dev/null +++ b/gws-drive-release-publisher/README.md @@ -0,0 +1,45 @@ +# GWS Drive Release Publisher + +Use-case specific plugin for publishing release assets from Google Drive and announcing delivery in Google Chat. + +## Installation + +```bash +/add-plugin gws-drive-release-publisher +``` + +## What this plugin includes + +- A release publishing skill: `publish-release-folder` +- A dedicated orchestration agent: `release-publisher-coordinator` +- Scoped MCP server config for Drive + Chat: `gws mcp -s drive,chat -w -e` + +## Setup + +1. Install Google Workspace CLI: + ```bash + npm install -g @googleworkspace/cli + ``` +2. Authenticate: + ```bash + gws auth setup + ``` +3. Ensure `gws` is on your `PATH`. + +Optional upstream skills: + +```bash +npx skills add https://github.com/googleworkspace/cli/tree/main/skills/gws-drive +npx skills add https://github.com/googleworkspace/cli/tree/main/skills/gws-chat +``` + +## Typical flow + +1. Provide the release folder ID and release notes. +2. Specify sharing targets and approval for permission scope. +3. Publish and verify links. +4. Send a Chat release announcement. + +## License + +MIT diff --git a/gws-drive-release-publisher/agents/release-publisher-coordinator.md b/gws-drive-release-publisher/agents/release-publisher-coordinator.md new file mode 100644 index 0000000..0a53eae --- /dev/null +++ b/gws-drive-release-publisher/agents/release-publisher-coordinator.md @@ -0,0 +1,28 @@ +--- +name: release-publisher-coordinator +description: Coordinate Drive release publishing and Chat notifications with explicit permission controls. +model: fast +--- + +# Release publisher coordinator + +Specialized agent for Drive-based release operations with Chat distribution. + +## Trigger + +Use when publishing versioned artifacts, updating access controls, and announcing releases to a Chat space. + +## Workflow + +1. Validate release folder contents. +2. Normalize share targets and permission scope. +3. Apply permission updates safely. +4. Publish a formatted Chat announcement with key links. +5. Return a release audit summary. + +## Output + +- Asset and folder links +- Permission diffs +- Chat posting result +- Follow-up actions if any failures occurred diff --git a/gws-drive-release-publisher/mcp.json b/gws-drive-release-publisher/mcp.json new file mode 100644 index 0000000..03ee70d --- /dev/null +++ b/gws-drive-release-publisher/mcp.json @@ -0,0 +1,14 @@ +{ + "mcpServers": { + "gws-drive-release-publisher": { + "command": "gws", + "args": [ + "mcp", + "-s", + "drive,chat", + "-w", + "-e" + ] + } + } +} diff --git a/gws-drive-release-publisher/skills/publish-release-folder/SKILL.md b/gws-drive-release-publisher/skills/publish-release-folder/SKILL.md new file mode 100644 index 0000000..1d3641e --- /dev/null +++ b/gws-drive-release-publisher/skills/publish-release-folder/SKILL.md @@ -0,0 +1,48 @@ +--- +name: publish-release-folder +description: Package and publish a Drive release folder, apply sharing policies, and send a Chat announcement. +--- + +# Publish release folder + +## Trigger + +Use when a team needs to ship a release bundle stored in Drive and announce it in Google Chat. + +## Required inputs + +- Drive folder ID containing release assets +- Target audience (specific users/groups, domain, or public) +- Chat space ID for announcement +- Release version string and summary notes + +## Workflow + +1. Verify `gws` authentication and Drive/Chat API availability. +2. Enumerate release files in the target folder and validate required assets. +3. Create or update a release index document (if requested) with canonical links. +4. Apply sharing permissions in the requested order (least privilege first). +5. Build a concise release announcement with links and key checksums/metadata. +6. Post the announcement to the target Chat space. +7. Return a release report with file list, permission outcomes, and message link. + +## Tooling + +- Prefer `gws mcp -s drive,chat -w -e`. +- Use `--dry-run` for permission-changing operations when uncertainty exists. +- Optional upstream skills: + - `npx skills add https://github.com/googleworkspace/cli/tree/main/skills/gws-drive` + - `npx skills add https://github.com/googleworkspace/cli/tree/main/skills/gws-chat` + +## Guardrails + +- Never widen file/folder visibility beyond explicit user intent. +- Confirm before applying domain-wide or public sharing. +- Preserve existing owner/editor permissions unless instructed otherwise. +- Validate that announcement links are accessible to the intended audience. + +## Output + +- Published asset inventory with Drive links +- Permission change summary +- Chat announcement status and message reference diff --git a/gws-gmail-triage/.cursor-plugin/plugin.json b/gws-gmail-triage/.cursor-plugin/plugin.json new file mode 100644 index 0000000..91832f7 --- /dev/null +++ b/gws-gmail-triage/.cursor-plugin/plugin.json @@ -0,0 +1,30 @@ +{ + "name": "gws-gmail-triage", + "displayName": "GWS Gmail Triage", + "version": "1.0.0", + "description": "Daily inbox triage workflows for Gmail with optional follow-up scheduling in Calendar.", + "author": { + "name": "Cursor", + "email": "plugins@cursor.com" + }, + "homepage": "https://github.com/cursor/plugins", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/avatar.png", + "keywords": [ + "google-workspace", + "gmail", + "triage", + "calendar", + "operations" + ], + "category": "productivity", + "tags": [ + "gmail", + "triage", + "email-ops" + ], + "skills": "./skills/", + "agents": "./agents/", + "mcpServers": "./mcp.json" +} diff --git a/gws-gmail-triage/LICENSE b/gws-gmail-triage/LICENSE new file mode 100644 index 0000000..ca2bba7 --- /dev/null +++ b/gws-gmail-triage/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Cursor + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/gws-gmail-triage/README.md b/gws-gmail-triage/README.md new file mode 100644 index 0000000..2fde479 --- /dev/null +++ b/gws-gmail-triage/README.md @@ -0,0 +1,45 @@ +# GWS Gmail Triage + +Use-case specific plugin for daily Gmail inbox triage with optional Calendar follow-up scheduling. + +## Installation + +```bash +/add-plugin gws-gmail-triage +``` + +## What this plugin includes + +- A focused triage skill: `daily-inbox-triage` +- A dedicated operator agent: `inbox-operations-lead` +- Scoped MCP server config for Gmail + Calendar: `gws mcp -s gmail,calendar -w -e` + +## Setup + +1. Install Google Workspace CLI: + ```bash + npm install -g @googleworkspace/cli + ``` +2. Authenticate: + ```bash + gws auth setup + ``` +3. Ensure `gws` is on your `PATH`. + +Optional: add upstream API-specific skills: + +```bash +npx skills add https://github.com/googleworkspace/cli/tree/main/skills/gws-gmail +npx skills add https://github.com/googleworkspace/cli/tree/main/skills/gws-calendar +``` + +## Typical flow + +1. Ask the agent to run inbox triage for a specific window. +2. Review proposed label/archive decisions. +3. Confirm follow-up event creation for high-priority threads. +4. Receive a triage summary and unresolved items list. + +## License + +MIT diff --git a/gws-gmail-triage/agents/inbox-operations-lead.md b/gws-gmail-triage/agents/inbox-operations-lead.md new file mode 100644 index 0000000..709e831 --- /dev/null +++ b/gws-gmail-triage/agents/inbox-operations-lead.md @@ -0,0 +1,28 @@ +--- +name: inbox-operations-lead +description: Inbox triage specialist for Gmail operations and follow-up scheduling. Use when users need fast mailbox cleanup and action extraction. +model: fast +--- + +# Inbox operations lead + +Focused Gmail operations agent for high-volume triage and action capture. + +## Trigger + +Use for backlog cleanup, urgent-thread extraction, and converting actionable threads into calendar follow-ups. + +## Workflow + +1. Determine triage scope (time window, labels, senders, priorities). +2. Pull message candidates and inspect details in bounded batches. +3. Classify and apply label/archive decisions. +4. Create follow-up events for actionable items. +5. Return a concise action report with unresolved risks. + +## Output + +- Message counts by action +- Labels added/removed +- Follow-up events created +- Remaining manual decisions diff --git a/gws-gmail-triage/mcp.json b/gws-gmail-triage/mcp.json new file mode 100644 index 0000000..7e61570 --- /dev/null +++ b/gws-gmail-triage/mcp.json @@ -0,0 +1,14 @@ +{ + "mcpServers": { + "gws-gmail-triage": { + "command": "gws", + "args": [ + "mcp", + "-s", + "gmail,calendar", + "-w", + "-e" + ] + } + } +} diff --git a/gws-gmail-triage/skills/daily-inbox-triage/SKILL.md b/gws-gmail-triage/skills/daily-inbox-triage/SKILL.md new file mode 100644 index 0000000..d8b639d --- /dev/null +++ b/gws-gmail-triage/skills/daily-inbox-triage/SKILL.md @@ -0,0 +1,48 @@ +--- +name: daily-inbox-triage +description: Run a repeatable Gmail triage routine, then schedule follow-ups in Calendar for actionable threads. +--- + +# Daily inbox triage + +## Trigger + +Use when a user asks to clean up inbox backlog, prioritize urgent mail, and convert important threads into calendar actions. + +## Required inputs + +- Mailbox user ID (typically `me`) +- Time window (for example, last 24h or last 7d) +- Priority criteria (sender domains, keywords, existing labels) +- Optional follow-up window for scheduling (for example, next 2 business days) + +## Workflow + +1. Confirm authentication is available (`gws auth login` if needed). +2. List candidate messages with a bounded query and page size. +3. Fetch full message metadata for the shortlisted message IDs. +4. Classify messages into: archive, needs reply, delegate, or schedule follow-up. +5. Apply Gmail label updates in batches. +6. For schedule follow-up items, create short Calendar events with links back to the message threads. +7. Produce a compact triage summary with counts and the highest priority unresolved threads. + +## Tooling + +- Prefer `gws mcp -s gmail,calendar -w -e` tools when MCP is available. +- Use direct CLI commands only when MCP access is not configured. +- If additional API-specific methods are needed, install upstream skills: + - `npx skills add https://github.com/googleworkspace/cli/tree/main/skills/gws-gmail` + - `npx skills add https://github.com/googleworkspace/cli/tree/main/skills/gws-calendar` + +## Guardrails + +- Never delete mail unless explicitly requested. +- Use narrow queries first; avoid full-mailbox scans by default. +- For label changes on more than 100 messages, confirm before applying. +- Include timezone when creating calendar follow-up events. + +## Output + +- Triage totals by action type +- List of created follow-up events +- Remaining high-priority threads needing user attention From ec49047923516c2f25139b4adf37ab0cafa43819 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 5 Mar 2026 04:12:31 +0000 Subject: [PATCH 2/2] Rename Google Workspace plugins to service names Co-authored-by: n2parko --- .cursor-plugin/marketplace.json | 12 ++++++------ README.md | 6 +++--- .../.cursor-plugin/plugin.json | 4 ++-- {gws-calendar-meeting-pilot => gmail}/LICENSE | 0 {gws-gmail-triage => gmail}/README.md | 4 ++-- .../agents/inbox-operations-lead.md | 0 {gws-gmail-triage => gmail}/mcp.json | 2 +- .../skills/daily-inbox-triage/SKILL.md | 0 .../.cursor-plugin/plugin.json | 4 ++-- .../LICENSE | 0 .../README.md | 4 ++-- .../agents/meeting-briefing-pilot.md | 0 .../mcp.json | 2 +- .../skills/prepare-meeting-brief/SKILL.md | 0 .../.cursor-plugin/plugin.json | 4 ++-- {gws-gmail-triage => google-drive}/LICENSE | 0 .../README.md | 4 ++-- .../agents/release-publisher-coordinator.md | 0 .../mcp.json | 2 +- .../skills/publish-release-folder/SKILL.md | 0 20 files changed, 24 insertions(+), 24 deletions(-) rename {gws-gmail-triage => gmail}/.cursor-plugin/plugin.json (90%) rename {gws-calendar-meeting-pilot => gmail}/LICENSE (100%) rename {gws-gmail-triage => gmail}/README.md (95%) rename {gws-gmail-triage => gmail}/agents/inbox-operations-lead.md (100%) rename {gws-gmail-triage => gmail}/mcp.json (86%) rename {gws-gmail-triage => gmail}/skills/daily-inbox-triage/SKILL.md (100%) rename {gws-calendar-meeting-pilot => google-calendar}/.cursor-plugin/plugin.json (87%) rename {gws-drive-release-publisher => google-calendar}/LICENSE (100%) rename {gws-calendar-meeting-pilot => google-calendar}/README.md (94%) rename {gws-calendar-meeting-pilot => google-calendar}/agents/meeting-briefing-pilot.md (100%) rename {gws-calendar-meeting-pilot => google-calendar}/mcp.json (82%) rename {gws-calendar-meeting-pilot => google-calendar}/skills/prepare-meeting-brief/SKILL.md (100%) rename {gws-drive-release-publisher => google-drive}/.cursor-plugin/plugin.json (87%) rename {gws-gmail-triage => google-drive}/LICENSE (100%) rename {gws-drive-release-publisher => google-drive}/README.md (93%) rename {gws-drive-release-publisher => google-drive}/agents/release-publisher-coordinator.md (100%) rename {gws-drive-release-publisher => google-drive}/mcp.json (81%) rename {gws-drive-release-publisher => google-drive}/skills/publish-release-folder/SKILL.md (100%) diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index 371a674..a5ddd3b 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -34,18 +34,18 @@ "description": "Iterative self-referential AI loops using the Ralph Wiggum technique." }, { - "name": "gws-gmail-triage", - "source": "gws-gmail-triage", + "name": "gmail", + "source": "gmail", "description": "Daily Gmail triage workflows with follow-up scheduling in Calendar." }, { - "name": "gws-drive-release-publisher", - "source": "gws-drive-release-publisher", + "name": "google-drive", + "source": "google-drive", "description": "Publish Drive release artifacts with controlled sharing and Chat announcements." }, { - "name": "gws-calendar-meeting-pilot", - "source": "gws-calendar-meeting-pilot", + "name": "google-calendar", + "source": "google-calendar", "description": "Build meeting briefs from Calendar events with related Gmail and Drive context." } ] diff --git a/README.md b/README.md index 834adc6..11eee51 100644 --- a/README.md +++ b/README.md @@ -11,9 +11,9 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc | [Cursor Team Kit](cursor-team-kit/) | Developer Tools | Internal-style workflows for CI, code review, shipping, and testing | | [Create Plugin](create-plugin/) | Developer Tools | Meta workflows for creating Cursor plugins with scaffolding and submission checks | | [Ralph Loop](ralph-loop/) | Developer Tools | Iterative self-referential AI loops using the Ralph Wiggum technique | -| [GWS Gmail Triage](gws-gmail-triage/) | Productivity | Daily Gmail triage workflows with follow-up scheduling in Calendar | -| [GWS Drive Release Publisher](gws-drive-release-publisher/) | Productivity | Publish Drive release artifacts with controlled sharing and Chat announcements | -| [GWS Calendar Meeting Pilot](gws-calendar-meeting-pilot/) | Productivity | Build meeting briefs from Calendar events with related Gmail and Drive context | +| [Gmail](gmail/) | Productivity | Daily Gmail triage workflows with follow-up scheduling in Calendar | +| [Google Drive](google-drive/) | Productivity | Publish Drive release artifacts with controlled sharing and Chat announcements | +| [Google Calendar](google-calendar/) | Productivity | Build meeting briefs from Calendar events with related Gmail and Drive context | ## Repository structure diff --git a/gws-gmail-triage/.cursor-plugin/plugin.json b/gmail/.cursor-plugin/plugin.json similarity index 90% rename from gws-gmail-triage/.cursor-plugin/plugin.json rename to gmail/.cursor-plugin/plugin.json index 91832f7..dd0132a 100644 --- a/gws-gmail-triage/.cursor-plugin/plugin.json +++ b/gmail/.cursor-plugin/plugin.json @@ -1,6 +1,6 @@ { - "name": "gws-gmail-triage", - "displayName": "GWS Gmail Triage", + "name": "gmail", + "displayName": "Gmail", "version": "1.0.0", "description": "Daily inbox triage workflows for Gmail with optional follow-up scheduling in Calendar.", "author": { diff --git a/gws-calendar-meeting-pilot/LICENSE b/gmail/LICENSE similarity index 100% rename from gws-calendar-meeting-pilot/LICENSE rename to gmail/LICENSE diff --git a/gws-gmail-triage/README.md b/gmail/README.md similarity index 95% rename from gws-gmail-triage/README.md rename to gmail/README.md index 2fde479..5aa6940 100644 --- a/gws-gmail-triage/README.md +++ b/gmail/README.md @@ -1,11 +1,11 @@ -# GWS Gmail Triage +# Gmail Use-case specific plugin for daily Gmail inbox triage with optional Calendar follow-up scheduling. ## Installation ```bash -/add-plugin gws-gmail-triage +/add-plugin gmail ``` ## What this plugin includes diff --git a/gws-gmail-triage/agents/inbox-operations-lead.md b/gmail/agents/inbox-operations-lead.md similarity index 100% rename from gws-gmail-triage/agents/inbox-operations-lead.md rename to gmail/agents/inbox-operations-lead.md diff --git a/gws-gmail-triage/mcp.json b/gmail/mcp.json similarity index 86% rename from gws-gmail-triage/mcp.json rename to gmail/mcp.json index 7e61570..25fe229 100644 --- a/gws-gmail-triage/mcp.json +++ b/gmail/mcp.json @@ -1,6 +1,6 @@ { "mcpServers": { - "gws-gmail-triage": { + "gmail": { "command": "gws", "args": [ "mcp", diff --git a/gws-gmail-triage/skills/daily-inbox-triage/SKILL.md b/gmail/skills/daily-inbox-triage/SKILL.md similarity index 100% rename from gws-gmail-triage/skills/daily-inbox-triage/SKILL.md rename to gmail/skills/daily-inbox-triage/SKILL.md diff --git a/gws-calendar-meeting-pilot/.cursor-plugin/plugin.json b/google-calendar/.cursor-plugin/plugin.json similarity index 87% rename from gws-calendar-meeting-pilot/.cursor-plugin/plugin.json rename to google-calendar/.cursor-plugin/plugin.json index fc96524..14e2275 100644 --- a/gws-calendar-meeting-pilot/.cursor-plugin/plugin.json +++ b/google-calendar/.cursor-plugin/plugin.json @@ -1,6 +1,6 @@ { - "name": "gws-calendar-meeting-pilot", - "displayName": "GWS Calendar Meeting Pilot", + "name": "google-calendar", + "displayName": "Google Calendar", "version": "1.0.0", "description": "Prepare meeting briefs from Calendar events using Drive and Gmail context.", "author": { diff --git a/gws-drive-release-publisher/LICENSE b/google-calendar/LICENSE similarity index 100% rename from gws-drive-release-publisher/LICENSE rename to google-calendar/LICENSE diff --git a/gws-calendar-meeting-pilot/README.md b/google-calendar/README.md similarity index 94% rename from gws-calendar-meeting-pilot/README.md rename to google-calendar/README.md index bfcaa89..a983d4e 100644 --- a/gws-calendar-meeting-pilot/README.md +++ b/google-calendar/README.md @@ -1,11 +1,11 @@ -# GWS Calendar Meeting Pilot +# Google Calendar Use-case specific plugin for preparing meeting briefs from Calendar events, related Gmail threads, and Drive docs. ## Installation ```bash -/add-plugin gws-calendar-meeting-pilot +/add-plugin google-calendar ``` ## What this plugin includes diff --git a/gws-calendar-meeting-pilot/agents/meeting-briefing-pilot.md b/google-calendar/agents/meeting-briefing-pilot.md similarity index 100% rename from gws-calendar-meeting-pilot/agents/meeting-briefing-pilot.md rename to google-calendar/agents/meeting-briefing-pilot.md diff --git a/gws-calendar-meeting-pilot/mcp.json b/google-calendar/mcp.json similarity index 82% rename from gws-calendar-meeting-pilot/mcp.json rename to google-calendar/mcp.json index 6244912..92c5678 100644 --- a/gws-calendar-meeting-pilot/mcp.json +++ b/google-calendar/mcp.json @@ -1,6 +1,6 @@ { "mcpServers": { - "gws-calendar-meeting-pilot": { + "google-calendar": { "command": "gws", "args": [ "mcp", diff --git a/gws-calendar-meeting-pilot/skills/prepare-meeting-brief/SKILL.md b/google-calendar/skills/prepare-meeting-brief/SKILL.md similarity index 100% rename from gws-calendar-meeting-pilot/skills/prepare-meeting-brief/SKILL.md rename to google-calendar/skills/prepare-meeting-brief/SKILL.md diff --git a/gws-drive-release-publisher/.cursor-plugin/plugin.json b/google-drive/.cursor-plugin/plugin.json similarity index 87% rename from gws-drive-release-publisher/.cursor-plugin/plugin.json rename to google-drive/.cursor-plugin/plugin.json index 75aa328..b19c381 100644 --- a/gws-drive-release-publisher/.cursor-plugin/plugin.json +++ b/google-drive/.cursor-plugin/plugin.json @@ -1,6 +1,6 @@ { - "name": "gws-drive-release-publisher", - "displayName": "GWS Drive Release Publisher", + "name": "google-drive", + "displayName": "Google Drive", "version": "1.0.0", "description": "Publish release artifacts from Drive with controlled sharing and Chat notifications.", "author": { diff --git a/gws-gmail-triage/LICENSE b/google-drive/LICENSE similarity index 100% rename from gws-gmail-triage/LICENSE rename to google-drive/LICENSE diff --git a/gws-drive-release-publisher/README.md b/google-drive/README.md similarity index 93% rename from gws-drive-release-publisher/README.md rename to google-drive/README.md index f9e95d5..ec4fc56 100644 --- a/gws-drive-release-publisher/README.md +++ b/google-drive/README.md @@ -1,11 +1,11 @@ -# GWS Drive Release Publisher +# Google Drive Use-case specific plugin for publishing release assets from Google Drive and announcing delivery in Google Chat. ## Installation ```bash -/add-plugin gws-drive-release-publisher +/add-plugin google-drive ``` ## What this plugin includes diff --git a/gws-drive-release-publisher/agents/release-publisher-coordinator.md b/google-drive/agents/release-publisher-coordinator.md similarity index 100% rename from gws-drive-release-publisher/agents/release-publisher-coordinator.md rename to google-drive/agents/release-publisher-coordinator.md diff --git a/gws-drive-release-publisher/mcp.json b/google-drive/mcp.json similarity index 81% rename from gws-drive-release-publisher/mcp.json rename to google-drive/mcp.json index 03ee70d..d66a4ee 100644 --- a/gws-drive-release-publisher/mcp.json +++ b/google-drive/mcp.json @@ -1,6 +1,6 @@ { "mcpServers": { - "gws-drive-release-publisher": { + "google-drive": { "command": "gws", "args": [ "mcp", diff --git a/gws-drive-release-publisher/skills/publish-release-folder/SKILL.md b/google-drive/skills/publish-release-folder/SKILL.md similarity index 100% rename from gws-drive-release-publisher/skills/publish-release-folder/SKILL.md rename to google-drive/skills/publish-release-folder/SKILL.md