-
Notifications
You must be signed in to change notification settings - Fork 1.2k
feat: skills expansion #18
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
Merged
Merged
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| --- | ||
| "@googleworkspace/cli": minor | ||
| --- | ||
|
|
||
| Add workflow helpers, personas, and 50 consumer-focused recipes | ||
|
|
||
| - Add `gws workflow` subcommand with 5 built-in helpers: `+standup-report`, `+meeting-prep`, `+email-to-task`, `+weekly-digest`, `+file-announce` | ||
| - Add 10 agent personas (exec-assistant, project-manager, sales-ops, etc.) with curated skill sets | ||
| - Add `docs/skills.md` skills index and `registry/recipes.yaml` with 50 multi-step recipes for Gmail, Drive, Docs, Calendar, and Sheets | ||
| - Update README with skills index link and accurate skill count | ||
| - Fix lefthook pre-commit to run fmt and clippy sequentially |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,139 @@ | ||
| # Skills Index | ||
|
|
||
| > Auto-generated by `gws generate-skills`. Do not edit manually. | ||
|
|
||
| ## Services | ||
|
|
||
| Core Google Workspace API skills. | ||
|
|
||
| | Skill | Description | | ||
| |-------|-------------| | ||
| | [gws-shared](../skills/gws-shared/SKILL.md) | gws CLI: Shared patterns for authentication, global flags, and output formatting. | | ||
| | [gws-drive](../skills/gws-drive/SKILL.md) | Google Drive: Manage files, folders, and shared drives. | | ||
| | [gws-sheets](../skills/gws-sheets/SKILL.md) | Google Sheets: Read and write spreadsheets. | | ||
| | [gws-gmail](../skills/gws-gmail/SKILL.md) | Gmail: Send, read, and manage email. | | ||
| | [gws-calendar](../skills/gws-calendar/SKILL.md) | Google Calendar: Manage calendars and events. | | ||
| | [gws-admin](../skills/gws-admin/SKILL.md) | Google Workspace Admin SDK: Manage users, groups, and devices. | | ||
| | [gws-admin-reports](../skills/gws-admin-reports/SKILL.md) | Google Workspace Admin SDK: Audit logs and usage reports. | | ||
| | [gws-docs](../skills/gws-docs/SKILL.md) | Read and write Google Docs. | | ||
| | [gws-slides](../skills/gws-slides/SKILL.md) | Google Slides: Read and write presentations. | | ||
| | [gws-tasks](../skills/gws-tasks/SKILL.md) | Google Tasks: Manage task lists and tasks. | | ||
| | [gws-people](../skills/gws-people/SKILL.md) | Google People: Manage contacts and profiles. | | ||
| | [gws-chat](../skills/gws-chat/SKILL.md) | Google Chat: Manage Chat spaces and messages. | | ||
| | [gws-vault](../skills/gws-vault/SKILL.md) | Google Vault: Manage eDiscovery holds and exports. | | ||
| | [gws-groupssettings](../skills/gws-groupssettings/SKILL.md) | Manage Google Groups settings. | | ||
| | [gws-reseller](../skills/gws-reseller/SKILL.md) | Google Workspace Reseller: Manage Workspace subscriptions. | | ||
| | [gws-licensing](../skills/gws-licensing/SKILL.md) | Google Workspace Enterprise License Manager: Manage product licenses. | | ||
| | [gws-apps-script](../skills/gws-apps-script/SKILL.md) | Google Apps Script: Manage and execute Apps Script projects. | | ||
| | [gws-classroom](../skills/gws-classroom/SKILL.md) | Google Classroom: Manage classes, rosters, and coursework. | | ||
| | [gws-cloudidentity](../skills/gws-cloudidentity/SKILL.md) | Google Cloud Identity: Manage identity groups and memberships. | | ||
| | [gws-alertcenter](../skills/gws-alertcenter/SKILL.md) | Google Workspace Alert Center: Manage Workspace security alerts. | | ||
| | [gws-forms](../skills/gws-forms/SKILL.md) | Read and write Google Forms. | | ||
| | [gws-keep](../skills/gws-keep/SKILL.md) | Manage Google Keep notes. | | ||
| | [gws-meet](../skills/gws-meet/SKILL.md) | Manage Google Meet conferences. | | ||
| | [gws-events](../skills/gws-events/SKILL.md) | Subscribe to Google Workspace events. | | ||
| | [gws-modelarmor](../skills/gws-modelarmor/SKILL.md) | Google Model Armor: Filter user-generated content for safety. | | ||
| | [gws-workflow](../skills/gws-workflow/SKILL.md) | Google Workflow: Cross-service productivity workflows. | | ||
|
|
||
| ## Helpers | ||
|
|
||
| Shortcut commands for common operations. | ||
|
|
||
| | Skill | Description | | ||
| |-------|-------------| | ||
| | [gws-drive-upload](../skills/gws-drive-upload/SKILL.md) | Google Drive: Upload a file with automatic metadata. | | ||
| | [gws-sheets-append](../skills/gws-sheets-append/SKILL.md) | Google Sheets: Append a row to a spreadsheet. | | ||
| | [gws-sheets-read](../skills/gws-sheets-read/SKILL.md) | Google Sheets: Read values from a spreadsheet. | | ||
| | [gws-gmail-send](../skills/gws-gmail-send/SKILL.md) | Gmail: Send an email. | | ||
| | [gws-gmail-triage](../skills/gws-gmail-triage/SKILL.md) | Gmail: Show unread inbox summary (sender, subject, date). | | ||
| | [gws-gmail-watch](../skills/gws-gmail-watch/SKILL.md) | Gmail: Watch for new emails and stream them as NDJSON. | | ||
| | [gws-calendar-insert](../skills/gws-calendar-insert/SKILL.md) | Google Calendar: Create a new event. | | ||
| | [gws-calendar-agenda](../skills/gws-calendar-agenda/SKILL.md) | Google Calendar: Show upcoming events across all calendars. | | ||
| | [gws-docs-write](../skills/gws-docs-write/SKILL.md) | Google Docs: Append text to a document. | | ||
| | [gws-chat-send](../skills/gws-chat-send/SKILL.md) | Google Chat: Send a message to a space. | | ||
| | [gws-apps-script-push](../skills/gws-apps-script-push/SKILL.md) | Google Apps Script: Upload local files to an Apps Script project. | | ||
| | [gws-events-subscribe](../skills/gws-events-subscribe/SKILL.md) | Google Workspace Events: Subscribe to Workspace events and stream them as NDJSON. | | ||
| | [gws-events-renew](../skills/gws-events-renew/SKILL.md) | Google Workspace Events: Renew/reactivate Workspace Events subscriptions. | | ||
| | [gws-modelarmor-sanitize-prompt](../skills/gws-modelarmor-sanitize-prompt/SKILL.md) | Google Model Armor: Sanitize a user prompt through a Model Armor template. | | ||
| | [gws-modelarmor-sanitize-response](../skills/gws-modelarmor-sanitize-response/SKILL.md) | Google Model Armor: Sanitize a model response through a Model Armor template. | | ||
| | [gws-modelarmor-create-template](../skills/gws-modelarmor-create-template/SKILL.md) | Google Model Armor: Create a new Model Armor template. | | ||
| | [gws-workflow-standup-report](../skills/gws-workflow-standup-report/SKILL.md) | Google Workflow: Today's meetings + open tasks as a standup summary. | | ||
| | [gws-workflow-meeting-prep](../skills/gws-workflow-meeting-prep/SKILL.md) | Google Workflow: Prepare for your next meeting: agenda, attendees, and linked docs. | | ||
| | [gws-workflow-email-to-task](../skills/gws-workflow-email-to-task/SKILL.md) | Google Workflow: Convert a Gmail message into a Google Tasks entry. | | ||
| | [gws-workflow-weekly-digest](../skills/gws-workflow-weekly-digest/SKILL.md) | Google Workflow: Weekly summary: this week's meetings + unread email count. | | ||
| | [gws-workflow-file-announce](../skills/gws-workflow-file-announce/SKILL.md) | Google Workflow: Announce a Drive file in a Chat space. | | ||
|
|
||
| ## Personas | ||
|
|
||
| Role-based skill bundles. | ||
|
|
||
| | Skill | Description | | ||
| |-------|-------------| | ||
| | [persona-exec-assistant](../skills/persona-exec-assistant/SKILL.md) | Manage an executive's schedule, inbox, and communications. | | ||
| | [persona-project-manager](../skills/persona-project-manager/SKILL.md) | Coordinate projects — track tasks, schedule meetings, and share docs. | | ||
| | [persona-hr-coordinator](../skills/persona-hr-coordinator/SKILL.md) | Handle HR workflows — onboarding, announcements, and employee comms. | | ||
| | [persona-sales-ops](../skills/persona-sales-ops/SKILL.md) | Manage sales workflows — track deals, schedule calls, client comms. | | ||
| | [persona-it-admin](../skills/persona-it-admin/SKILL.md) | Administer IT — manage users, monitor security, configure Workspace. | | ||
| | [persona-content-creator](../skills/persona-content-creator/SKILL.md) | Create, organize, and distribute content across Workspace. | | ||
| | [persona-customer-support](../skills/persona-customer-support/SKILL.md) | Manage customer support — track tickets, respond, escalate issues. | | ||
| | [persona-event-coordinator](../skills/persona-event-coordinator/SKILL.md) | Plan and manage events — scheduling, invitations, and logistics. | | ||
| | [persona-team-lead](../skills/persona-team-lead/SKILL.md) | Lead a team — run standups, coordinate tasks, and communicate. | | ||
| | [persona-researcher](../skills/persona-researcher/SKILL.md) | Organize research — manage references, notes, and collaboration. | | ||
|
|
||
| ## Recipes | ||
|
|
||
| Multi-step task sequences with real commands. | ||
|
|
||
| | Skill | Description | | ||
| |-------|-------------| | ||
| | [recipe-audit-external-sharing](../skills/recipe-audit-external-sharing/SKILL.md) | Find and review Google Drive files shared outside the organization. | | ||
| | [recipe-label-and-archive-emails](../skills/recipe-label-and-archive-emails/SKILL.md) | Apply Gmail labels to matching messages and archive them to keep your inbox clean. | | ||
| | [recipe-send-personalized-emails](../skills/recipe-send-personalized-emails/SKILL.md) | Read recipient data from Google Sheets and send personalized Gmail messages to each row. | | ||
| | [recipe-draft-email-from-doc](../skills/recipe-draft-email-from-doc/SKILL.md) | Read content from a Google Doc and use it as the body of a Gmail message. | | ||
| | [recipe-organize-drive-folder](../skills/recipe-organize-drive-folder/SKILL.md) | Create a Google Drive folder structure and move files into the right locations. | | ||
| | [recipe-share-folder-with-team](../skills/recipe-share-folder-with-team/SKILL.md) | Share a Google Drive folder and all its contents with a list of collaborators. | | ||
| | [recipe-email-drive-link](../skills/recipe-email-drive-link/SKILL.md) | Share a Google Drive file and email the link with a message to recipients. | | ||
| | [recipe-create-doc-from-template](../skills/recipe-create-doc-from-template/SKILL.md) | Copy a Google Docs template, fill in content, and share with collaborators. | | ||
| | [recipe-create-expense-tracker](../skills/recipe-create-expense-tracker/SKILL.md) | Set up a Google Sheets spreadsheet for tracking expenses with headers and initial entries. | | ||
| | [recipe-copy-sheet-for-new-month](../skills/recipe-copy-sheet-for-new-month/SKILL.md) | Duplicate a Google Sheets template tab for a new month of tracking. | | ||
| | [recipe-block-focus-time](../skills/recipe-block-focus-time/SKILL.md) | Create recurring focus time blocks on Google Calendar to protect deep work hours. | | ||
| | [recipe-reschedule-meeting](../skills/recipe-reschedule-meeting/SKILL.md) | Move a Google Calendar event to a new time and automatically notify all attendees. | | ||
| | [recipe-search-and-export-emails](../skills/recipe-search-and-export-emails/SKILL.md) | Find Gmail messages matching a query and export them for review. | | ||
| | [recipe-create-gmail-filter](../skills/recipe-create-gmail-filter/SKILL.md) | Create a Gmail filter to automatically label, star, or categorize incoming messages. | | ||
| | [recipe-cancel-and-notify](../skills/recipe-cancel-and-notify/SKILL.md) | Delete a Google Calendar event and send a cancellation email via Gmail. | | ||
| | [recipe-schedule-recurring-event](../skills/recipe-schedule-recurring-event/SKILL.md) | Create a recurring Google Calendar event with attendees. | | ||
| | [recipe-find-free-time](../skills/recipe-find-free-time/SKILL.md) | Query Google Calendar free/busy status for multiple users to find a meeting slot. | | ||
| | [recipe-bulk-download-folder](../skills/recipe-bulk-download-folder/SKILL.md) | List and download all files from a Google Drive folder. | | ||
| | [recipe-find-large-files](../skills/recipe-find-large-files/SKILL.md) | Identify large Google Drive files consuming storage quota. | | ||
| | [recipe-create-shared-drive](../skills/recipe-create-shared-drive/SKILL.md) | Create a Google Shared Drive and add members with appropriate roles. | | ||
| | [recipe-transfer-file-ownership](../skills/recipe-transfer-file-ownership/SKILL.md) | Transfer ownership of Google Drive files from one user to another. | | ||
| | [recipe-log-deal-update](../skills/recipe-log-deal-update/SKILL.md) | Append a deal status update to a Google Sheets sales tracking spreadsheet. | | ||
| | [recipe-collect-form-responses](../skills/recipe-collect-form-responses/SKILL.md) | Retrieve and review responses from a Google Form. | | ||
| | [recipe-post-mortem-setup](../skills/recipe-post-mortem-setup/SKILL.md) | Create a Google Docs post-mortem, schedule a Google Calendar review, and notify via Chat. | | ||
| | [recipe-create-task-list](../skills/recipe-create-task-list/SKILL.md) | Set up a new Google Tasks list with initial tasks. | | ||
| | [recipe-review-overdue-tasks](../skills/recipe-review-overdue-tasks/SKILL.md) | Find Google Tasks that are past due and need attention. | | ||
| | [recipe-deploy-apps-script](../skills/recipe-deploy-apps-script/SKILL.md) | Push local files to a Google Apps Script project. | | ||
| | [recipe-watch-drive-changes](../skills/recipe-watch-drive-changes/SKILL.md) | Subscribe to change notifications on a Google Drive file or folder. | | ||
| | [recipe-create-classroom-course](../skills/recipe-create-classroom-course/SKILL.md) | Create a Google Classroom course and invite students. | | ||
| | [recipe-create-meet-space](../skills/recipe-create-meet-space/SKILL.md) | Create a Google Meet meeting space and share the join link. | | ||
| | [recipe-review-meet-participants](../skills/recipe-review-meet-participants/SKILL.md) | Review who attended a Google Meet conference and for how long. | | ||
| | [recipe-create-presentation](../skills/recipe-create-presentation/SKILL.md) | Create a new Google Slides presentation and add initial slides. | | ||
| | [recipe-triage-security-alerts](../skills/recipe-triage-security-alerts/SKILL.md) | List and review Google Workspace security alerts from Alert Center. | | ||
| | [recipe-save-email-attachments](../skills/recipe-save-email-attachments/SKILL.md) | Find Gmail messages with attachments and save them to a Google Drive folder. | | ||
| | [recipe-send-team-announcement](../skills/recipe-send-team-announcement/SKILL.md) | Send a team announcement via both Gmail and a Google Chat space. | | ||
| | [recipe-create-feedback-form](../skills/recipe-create-feedback-form/SKILL.md) | Create a Google Form for feedback and share it via Gmail. | | ||
| | [recipe-sync-contacts-to-sheet](../skills/recipe-sync-contacts-to-sheet/SKILL.md) | Export Google Contacts directory to a Google Sheets spreadsheet. | | ||
| | [recipe-share-event-materials](../skills/recipe-share-event-materials/SKILL.md) | Share Google Drive files with all attendees of a Google Calendar event. | | ||
| | [recipe-create-vacation-responder](../skills/recipe-create-vacation-responder/SKILL.md) | Enable a Gmail out-of-office auto-reply with a custom message and date range. | | ||
| | [recipe-create-events-from-sheet](../skills/recipe-create-events-from-sheet/SKILL.md) | Read event data from a Google Sheets spreadsheet and create Google Calendar entries for each row. | | ||
| | [recipe-plan-weekly-schedule](../skills/recipe-plan-weekly-schedule/SKILL.md) | Review your Google Calendar week, identify gaps, and add events to fill them. | | ||
| | [recipe-share-doc-and-notify](../skills/recipe-share-doc-and-notify/SKILL.md) | Share a Google Docs document with edit access and email collaborators the link. | | ||
| | [recipe-backup-sheet-as-csv](../skills/recipe-backup-sheet-as-csv/SKILL.md) | Export a Google Sheets spreadsheet as a CSV file for local backup or processing. | | ||
| | [recipe-save-email-to-doc](../skills/recipe-save-email-to-doc/SKILL.md) | Save a Gmail message body into a Google Doc for archival or reference. | | ||
| | [recipe-batch-reply-to-emails](../skills/recipe-batch-reply-to-emails/SKILL.md) | Find Gmail messages matching a query and send a standard reply to each one. | | ||
| | [recipe-batch-rename-files](../skills/recipe-batch-rename-files/SKILL.md) | Rename multiple Google Drive files matching a pattern to follow a consistent naming convention. | | ||
| | [recipe-compare-sheet-tabs](../skills/recipe-compare-sheet-tabs/SKILL.md) | Read data from two tabs in a Google Sheet to compare and identify differences. | | ||
| | [recipe-batch-invite-to-event](../skills/recipe-batch-invite-to-event/SKILL.md) | Add a list of attendees to an existing Google Calendar event and send notifications. | | ||
| | [recipe-forward-labeled-emails](../skills/recipe-forward-labeled-emails/SKILL.md) | Find Gmail messages with a specific label and forward them to another address. | | ||
| | [recipe-generate-report-from-sheet](../skills/recipe-generate-report-from-sheet/SKILL.md) | Read data from a Google Sheet and create a formatted Google Docs report. | | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,5 @@ | ||
| pre-commit: | ||
| parallel: true | ||
| parallel: false | ||
| commands: | ||
| fmt: | ||
| glob: "*.rs" | ||
|
|
||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
The
serde_yamlcrate is deprecated and its documentation recommends usingserde-yaml(with a hyphen) instead. Please update the dependency to use the recommended crate and avoid potential issues with the deprecated one.