From 08566e0cc9812c331008adeac0a9137405d857db Mon Sep 17 00:00:00 2001 From: Bortlesboat Date: Tue, 7 Apr 2026 15:31:58 -0400 Subject: [PATCH] docs(skills): clarify selective installs --- .changeset/fix-selective-skill-install.md | 5 ++ README.md | 5 +- .../src/generate_skills.rs | 70 ++++++++++++++++++- skills/gws-admin-reports/SKILL.md | 2 +- skills/gws-calendar-agenda/SKILL.md | 2 +- skills/gws-calendar-insert/SKILL.md | 2 +- skills/gws-calendar/SKILL.md | 2 +- skills/gws-chat-send/SKILL.md | 2 +- skills/gws-chat/SKILL.md | 2 +- skills/gws-classroom/SKILL.md | 2 +- skills/gws-docs-write/SKILL.md | 2 +- skills/gws-docs/SKILL.md | 2 +- skills/gws-drive-upload/SKILL.md | 2 +- skills/gws-drive/SKILL.md | 2 +- skills/gws-events-renew/SKILL.md | 2 +- skills/gws-events-subscribe/SKILL.md | 2 +- skills/gws-events/SKILL.md | 6 +- skills/gws-forms/SKILL.md | 2 +- skills/gws-gmail-forward/SKILL.md | 2 +- skills/gws-gmail-read/SKILL.md | 2 +- skills/gws-gmail-reply-all/SKILL.md | 2 +- skills/gws-gmail-reply/SKILL.md | 2 +- skills/gws-gmail-send/SKILL.md | 2 +- skills/gws-gmail-triage/SKILL.md | 2 +- skills/gws-gmail-watch/SKILL.md | 2 +- skills/gws-gmail/SKILL.md | 2 +- skills/gws-keep/SKILL.md | 2 +- skills/gws-meet/SKILL.md | 2 +- .../gws-modelarmor-create-template/SKILL.md | 2 +- .../gws-modelarmor-sanitize-prompt/SKILL.md | 2 +- .../gws-modelarmor-sanitize-response/SKILL.md | 2 +- skills/gws-modelarmor/SKILL.md | 2 +- skills/gws-people/SKILL.md | 2 +- skills/gws-script-push/SKILL.md | 2 +- skills/gws-script/SKILL.md | 2 +- skills/gws-sheets-append/SKILL.md | 6 +- skills/gws-sheets-read/SKILL.md | 2 +- skills/gws-sheets/SKILL.md | 2 +- skills/gws-slides/SKILL.md | 2 +- skills/gws-tasks/SKILL.md | 2 +- skills/gws-workflow-email-to-task/SKILL.md | 2 +- skills/gws-workflow-file-announce/SKILL.md | 2 +- skills/gws-workflow-meeting-prep/SKILL.md | 2 +- skills/gws-workflow-standup-report/SKILL.md | 2 +- skills/gws-workflow-weekly-digest/SKILL.md | 2 +- skills/gws-workflow/SKILL.md | 2 +- 46 files changed, 124 insertions(+), 50 deletions(-) create mode 100644 .changeset/fix-selective-skill-install.md diff --git a/.changeset/fix-selective-skill-install.md b/.changeset/fix-selective-skill-install.md new file mode 100644 index 00000000..6c86ae2e --- /dev/null +++ b/.changeset/fix-selective-skill-install.md @@ -0,0 +1,5 @@ +--- +"@googleworkspace/cli": patch +--- + +Clarify selective skill installation by requiring `gws-shared` alongside service skills and by keeping `gws generate-skills` as the local generation path. diff --git a/README.md b/README.md index 04c532d0..64eba3cf 100644 --- a/README.md +++ b/README.md @@ -224,10 +224,13 @@ The repo ships 100+ Agent Skills (`SKILL.md` files) — one for every supported npx skills add https://github.com/googleworkspace/cli # Or pick only what you need +npx skills add https://github.com/googleworkspace/cli/tree/main/skills/gws-shared 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 ``` +When you selectively install skills, always install `gws-shared` first so the service skills can rely on the shared auth, flag, and safety guidance. +
OpenClaw setup @@ -236,7 +239,7 @@ npx skills add https://github.com/googleworkspace/cli/tree/main/skills/gws-gmail ln -s $(pwd)/skills/gws-* ~/.openclaw/skills/ # Or copy specific skills -cp -r skills/gws-drive skills/gws-gmail ~/.openclaw/skills/ +cp -r skills/gws-shared skills/gws-drive skills/gws-gmail ~/.openclaw/skills/ ``` The `gws-shared` skill includes an `install` block so OpenClaw auto-installs the CLI via `npm` if `gws` isn't on PATH. diff --git a/crates/google-workspace-cli/src/generate_skills.rs b/crates/google-workspace-cli/src/generate_skills.rs index ce265407..7dd6413b 100644 --- a/crates/google-workspace-cli/src/generate_skills.rs +++ b/crates/google-workspace-cli/src/generate_skills.rs @@ -404,7 +404,7 @@ metadata: out.push_str(&format!("# {alias} ({api_version})\n\n")); out.push_str( - "> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.\n\n", + "> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it.\n\n", ); out.push_str(&format!( @@ -541,7 +541,7 @@ metadata: out.push_str(&format!("# {alias} {cmd_name}\n\n")); out.push_str( - "> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.\n\n", + "> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it.\n\n", ); out.push_str(&format!("{about}\n\n")); @@ -1400,4 +1400,70 @@ mod tests { "frontmatter should contain '- gws' block entry" ); } + + #[test] + fn test_service_skill_prerequisite_mentions_selective_install_and_local_generation() { + let entry = services::SERVICES + .iter() + .find(|s| s.api_name == "drive") + .unwrap(); + let doc = crate::discovery::RestDescription { + name: entry.api_name.to_string(), + title: Some("Google Drive API".to_string()), + description: Some(entry.description.to_string()), + ..Default::default() + }; + let cli = crate::commands::build_cli(&doc); + let helpers: Vec<&Command> = cli + .get_subcommands() + .filter(|s| s.get_name().starts_with('+')) + .collect(); + let resources: Vec<&Command> = cli + .get_subcommands() + .filter(|s| !s.get_name().starts_with('+')) + .collect(); + + let md = render_service_skill( + entry.aliases[0], + entry, + &helpers, + &resources, + "Google Drive", + &doc, + ); + + assert!(md.contains("install `gws-shared` alongside this skill")); + assert!(md.contains("If you're generating skills from a local checkout, run `gws generate-skills`")); + } + + #[test] + fn test_helper_skill_prerequisite_mentions_selective_install_and_local_generation() { + let entry = services::SERVICES + .iter() + .find(|s| s.api_name == "drive") + .unwrap(); + + let doc = crate::discovery::RestDescription { + name: entry.api_name.to_string(), + title: Some("Google Drive API".to_string()), + description: Some(entry.description.to_string()), + ..Default::default() + }; + let cli = crate::commands::build_cli(&doc); + let helper = cli + .get_subcommands() + .find(|s| s.get_name().starts_with('+')) + .expect("No helper command found for test"); + + let md = render_helper_skill( + entry.aliases[0], + helper.get_name(), + helper, + entry, + "Google Drive", + ); + + assert!(md.contains("install `gws-shared` alongside this skill")); + assert!(md.contains("If you're generating skills from a local checkout, run `gws generate-skills`")); + } } diff --git a/skills/gws-admin-reports/SKILL.md b/skills/gws-admin-reports/SKILL.md index 4c9eae17..d3863d1d 100644 --- a/skills/gws-admin-reports/SKILL.md +++ b/skills/gws-admin-reports/SKILL.md @@ -13,7 +13,7 @@ metadata: # admin-reports (reports_v1) -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. ```bash gws admin-reports [flags] diff --git a/skills/gws-calendar-agenda/SKILL.md b/skills/gws-calendar-agenda/SKILL.md index 89259ff3..4f9e1330 100644 --- a/skills/gws-calendar-agenda/SKILL.md +++ b/skills/gws-calendar-agenda/SKILL.md @@ -13,7 +13,7 @@ metadata: # calendar +agenda -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Show upcoming events across all calendars diff --git a/skills/gws-calendar-insert/SKILL.md b/skills/gws-calendar-insert/SKILL.md index dd2989d8..39d834da 100644 --- a/skills/gws-calendar-insert/SKILL.md +++ b/skills/gws-calendar-insert/SKILL.md @@ -13,7 +13,7 @@ metadata: # calendar +insert -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. create a new event diff --git a/skills/gws-calendar/SKILL.md b/skills/gws-calendar/SKILL.md index 08e134ce..b0a44273 100644 --- a/skills/gws-calendar/SKILL.md +++ b/skills/gws-calendar/SKILL.md @@ -13,7 +13,7 @@ metadata: # calendar (v3) -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. ```bash gws calendar [flags] diff --git a/skills/gws-chat-send/SKILL.md b/skills/gws-chat-send/SKILL.md index 3ac2e237..5025e965 100644 --- a/skills/gws-chat-send/SKILL.md +++ b/skills/gws-chat-send/SKILL.md @@ -13,7 +13,7 @@ metadata: # chat +send -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Send a message to a space diff --git a/skills/gws-chat/SKILL.md b/skills/gws-chat/SKILL.md index 5eaca50c..6d9c3034 100644 --- a/skills/gws-chat/SKILL.md +++ b/skills/gws-chat/SKILL.md @@ -13,7 +13,7 @@ metadata: # chat (v1) -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. ```bash gws chat [flags] diff --git a/skills/gws-classroom/SKILL.md b/skills/gws-classroom/SKILL.md index 466a7105..67f4cc3a 100644 --- a/skills/gws-classroom/SKILL.md +++ b/skills/gws-classroom/SKILL.md @@ -13,7 +13,7 @@ metadata: # classroom (v1) -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. ```bash gws classroom [flags] diff --git a/skills/gws-docs-write/SKILL.md b/skills/gws-docs-write/SKILL.md index 4c903126..52620eea 100644 --- a/skills/gws-docs-write/SKILL.md +++ b/skills/gws-docs-write/SKILL.md @@ -13,7 +13,7 @@ metadata: # docs +write -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Append text to a document diff --git a/skills/gws-docs/SKILL.md b/skills/gws-docs/SKILL.md index f51b1950..0294e998 100644 --- a/skills/gws-docs/SKILL.md +++ b/skills/gws-docs/SKILL.md @@ -13,7 +13,7 @@ metadata: # docs (v1) -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. ```bash gws docs [flags] diff --git a/skills/gws-drive-upload/SKILL.md b/skills/gws-drive-upload/SKILL.md index fe2b4017..bc10fa3c 100644 --- a/skills/gws-drive-upload/SKILL.md +++ b/skills/gws-drive-upload/SKILL.md @@ -13,7 +13,7 @@ metadata: # drive +upload -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Upload a file with automatic metadata diff --git a/skills/gws-drive/SKILL.md b/skills/gws-drive/SKILL.md index d4debbdb..a5a49d12 100644 --- a/skills/gws-drive/SKILL.md +++ b/skills/gws-drive/SKILL.md @@ -13,7 +13,7 @@ metadata: # drive (v3) -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. ```bash gws drive [flags] diff --git a/skills/gws-events-renew/SKILL.md b/skills/gws-events-renew/SKILL.md index bb825ed7..16e3fdab 100644 --- a/skills/gws-events-renew/SKILL.md +++ b/skills/gws-events-renew/SKILL.md @@ -13,7 +13,7 @@ metadata: # events +renew -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Renew/reactivate Workspace Events subscriptions diff --git a/skills/gws-events-subscribe/SKILL.md b/skills/gws-events-subscribe/SKILL.md index f2e45e90..130907fd 100644 --- a/skills/gws-events-subscribe/SKILL.md +++ b/skills/gws-events-subscribe/SKILL.md @@ -13,7 +13,7 @@ metadata: # events +subscribe -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Subscribe to Workspace events and stream them as NDJSON diff --git a/skills/gws-events/SKILL.md b/skills/gws-events/SKILL.md index e72f5124..8bcfde49 100644 --- a/skills/gws-events/SKILL.md +++ b/skills/gws-events/SKILL.md @@ -13,7 +13,7 @@ metadata: # events (v1) -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. ```bash gws events [flags] @@ -38,11 +38,11 @@ gws events [flags] ### subscriptions - - `create` — Creates a Google Workspace subscription. To learn how to use this method, see [Create a Google Workspace subscription](https://developers.google.com/workspace/events/guides/create-subscription). + - `create` — Creates a Google Workspace subscription. To learn how to use this method, see [Create a Google Workspace subscription](https://developers.google.com/workspace/events/guides/create-subscription). For a subscription on a [Chat target resource](https://developers.google.com/workspace/events/guides/events-chat), you can create a subscription as: - A Chat app by specifying an authorization scope that begins with `chat.app` and getting one-time administrator approval. - `delete` — Deletes a Google Workspace subscription. To learn how to use this method, see [Delete a Google Workspace subscription](https://developers.google.com/workspace/events/guides/delete-subscription). - `get` — Gets details about a Google Workspace subscription. To learn how to use this method, see [Get details about a Google Workspace subscription](https://developers.google.com/workspace/events/guides/get-subscription). - `list` — Lists Google Workspace subscriptions. To learn how to use this method, see [List Google Workspace subscriptions](https://developers.google.com/workspace/events/guides/list-subscriptions). - - `patch` — Updates or renews a Google Workspace subscription. To learn how to use this method, see [Update or renew a Google Workspace subscription](https://developers.google.com/workspace/events/guides/update-subscription). + - `patch` — Updates or renews a Google Workspace subscription. To learn how to use this method, see [Update or renew a Google Workspace subscription](https://developers.google.com/workspace/events/guides/update-subscription). For a subscription on a [Chat target resource](https://developers.google.com/workspace/events/guides/events-chat), you can update a subscription as: - A Chat app by specifying an authorization scope that begins with `chat.app` and getting one-time administrator approval. - `reactivate` — Reactivates a suspended Google Workspace subscription. This method resets your subscription's `State` field to `ACTIVE`. Before you use this method, you must fix the error that suspended the subscription. This method will ignore or reject any subscription that isn't currently in a suspended state. To learn how to use this method, see [Reactivate a Google Workspace subscription](https://developers.google.com/workspace/events/guides/reactivate-subscription). ### tasks diff --git a/skills/gws-forms/SKILL.md b/skills/gws-forms/SKILL.md index 3a11a94e..416c8d87 100644 --- a/skills/gws-forms/SKILL.md +++ b/skills/gws-forms/SKILL.md @@ -13,7 +13,7 @@ metadata: # forms (v1) -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. ```bash gws forms [flags] diff --git a/skills/gws-gmail-forward/SKILL.md b/skills/gws-gmail-forward/SKILL.md index d433cef5..6633aef0 100644 --- a/skills/gws-gmail-forward/SKILL.md +++ b/skills/gws-gmail-forward/SKILL.md @@ -13,7 +13,7 @@ metadata: # gmail +forward -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Forward a message to new recipients diff --git a/skills/gws-gmail-read/SKILL.md b/skills/gws-gmail-read/SKILL.md index dc153af4..15bc6bcb 100644 --- a/skills/gws-gmail-read/SKILL.md +++ b/skills/gws-gmail-read/SKILL.md @@ -13,7 +13,7 @@ metadata: # gmail +read -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Read a message and extract its body or headers diff --git a/skills/gws-gmail-reply-all/SKILL.md b/skills/gws-gmail-reply-all/SKILL.md index 1a4e4c8b..2e18155c 100644 --- a/skills/gws-gmail-reply-all/SKILL.md +++ b/skills/gws-gmail-reply-all/SKILL.md @@ -13,7 +13,7 @@ metadata: # gmail +reply-all -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Reply-all to a message (handles threading automatically) diff --git a/skills/gws-gmail-reply/SKILL.md b/skills/gws-gmail-reply/SKILL.md index e3538827..c21605ee 100644 --- a/skills/gws-gmail-reply/SKILL.md +++ b/skills/gws-gmail-reply/SKILL.md @@ -13,7 +13,7 @@ metadata: # gmail +reply -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Reply to a message (handles threading automatically) diff --git a/skills/gws-gmail-send/SKILL.md b/skills/gws-gmail-send/SKILL.md index 55da9c28..d7392f19 100644 --- a/skills/gws-gmail-send/SKILL.md +++ b/skills/gws-gmail-send/SKILL.md @@ -13,7 +13,7 @@ metadata: # gmail +send -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Send an email diff --git a/skills/gws-gmail-triage/SKILL.md b/skills/gws-gmail-triage/SKILL.md index 641a2d11..60376e21 100644 --- a/skills/gws-gmail-triage/SKILL.md +++ b/skills/gws-gmail-triage/SKILL.md @@ -13,7 +13,7 @@ metadata: # gmail +triage -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Show unread inbox summary (sender, subject, date) diff --git a/skills/gws-gmail-watch/SKILL.md b/skills/gws-gmail-watch/SKILL.md index fca780f7..817ef0c7 100644 --- a/skills/gws-gmail-watch/SKILL.md +++ b/skills/gws-gmail-watch/SKILL.md @@ -13,7 +13,7 @@ metadata: # gmail +watch -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Watch for new emails and stream them as NDJSON diff --git a/skills/gws-gmail/SKILL.md b/skills/gws-gmail/SKILL.md index 3423770e..242b8cf3 100644 --- a/skills/gws-gmail/SKILL.md +++ b/skills/gws-gmail/SKILL.md @@ -13,7 +13,7 @@ metadata: # gmail (v1) -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. ```bash gws gmail [flags] diff --git a/skills/gws-keep/SKILL.md b/skills/gws-keep/SKILL.md index 8c2d0bf4..b96682c4 100644 --- a/skills/gws-keep/SKILL.md +++ b/skills/gws-keep/SKILL.md @@ -13,7 +13,7 @@ metadata: # keep (v1) -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. ```bash gws keep [flags] diff --git a/skills/gws-meet/SKILL.md b/skills/gws-meet/SKILL.md index 6959c2bd..12f256df 100644 --- a/skills/gws-meet/SKILL.md +++ b/skills/gws-meet/SKILL.md @@ -13,7 +13,7 @@ metadata: # meet (v2) -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. ```bash gws meet [flags] diff --git a/skills/gws-modelarmor-create-template/SKILL.md b/skills/gws-modelarmor-create-template/SKILL.md index 3926280e..9eedbb51 100644 --- a/skills/gws-modelarmor-create-template/SKILL.md +++ b/skills/gws-modelarmor-create-template/SKILL.md @@ -13,7 +13,7 @@ metadata: # modelarmor +create-template -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Create a new Model Armor template diff --git a/skills/gws-modelarmor-sanitize-prompt/SKILL.md b/skills/gws-modelarmor-sanitize-prompt/SKILL.md index cff9dde9..7947fecb 100644 --- a/skills/gws-modelarmor-sanitize-prompt/SKILL.md +++ b/skills/gws-modelarmor-sanitize-prompt/SKILL.md @@ -13,7 +13,7 @@ metadata: # modelarmor +sanitize-prompt -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Sanitize a user prompt through a Model Armor template diff --git a/skills/gws-modelarmor-sanitize-response/SKILL.md b/skills/gws-modelarmor-sanitize-response/SKILL.md index b4cd60fa..e2655fb9 100644 --- a/skills/gws-modelarmor-sanitize-response/SKILL.md +++ b/skills/gws-modelarmor-sanitize-response/SKILL.md @@ -13,7 +13,7 @@ metadata: # modelarmor +sanitize-response -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Sanitize a model response through a Model Armor template diff --git a/skills/gws-modelarmor/SKILL.md b/skills/gws-modelarmor/SKILL.md index 15efca47..b3820e34 100644 --- a/skills/gws-modelarmor/SKILL.md +++ b/skills/gws-modelarmor/SKILL.md @@ -13,7 +13,7 @@ metadata: # modelarmor (v1) -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. ```bash gws modelarmor [flags] diff --git a/skills/gws-people/SKILL.md b/skills/gws-people/SKILL.md index 06527a73..e0913e22 100644 --- a/skills/gws-people/SKILL.md +++ b/skills/gws-people/SKILL.md @@ -13,7 +13,7 @@ metadata: # people (v1) -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. ```bash gws people [flags] diff --git a/skills/gws-script-push/SKILL.md b/skills/gws-script-push/SKILL.md index c3920af2..d9a861d3 100644 --- a/skills/gws-script-push/SKILL.md +++ b/skills/gws-script-push/SKILL.md @@ -13,7 +13,7 @@ metadata: # script +push -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Upload local files to an Apps Script project diff --git a/skills/gws-script/SKILL.md b/skills/gws-script/SKILL.md index e7e288aa..b627aed7 100644 --- a/skills/gws-script/SKILL.md +++ b/skills/gws-script/SKILL.md @@ -13,7 +13,7 @@ metadata: # script (v1) -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. ```bash gws script [flags] diff --git a/skills/gws-sheets-append/SKILL.md b/skills/gws-sheets-append/SKILL.md index cac70a28..178b6451 100644 --- a/skills/gws-sheets-append/SKILL.md +++ b/skills/gws-sheets-append/SKILL.md @@ -13,7 +13,7 @@ metadata: # sheets +append -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Append a row to a spreadsheet @@ -30,7 +30,7 @@ gws sheets +append --spreadsheet | `--spreadsheet` | ✓ | — | Spreadsheet ID | | `--values` | — | — | Comma-separated values (simple strings) | | `--json-values` | — | — | JSON array of rows, e.g. '[["a","b"],["c","d"]]' | -| `--range` | — | `A1` | Target range in A1 notation (e.g. 'Sheet2!A1') to select a specific tab | +| `--range` | — | — | Target range in A1 notation (e.g. 'Sheet2!A1'). Defaults to 'A1' (first sheet) | ## Examples @@ -44,7 +44,7 @@ gws sheets +append --spreadsheet ID --range "Sheet2!A1" --values 'Alice,100' - Use --values for simple single-row appends. - Use --json-values for bulk multi-row inserts. -- Use --range to append to a specific sheet tab (default: A1, i.e. first sheet). +- Use --range to target a specific sheet tab (default: A1, i.e. first sheet). > [!CAUTION] > This is a **write** command — confirm with the user before executing. diff --git a/skills/gws-sheets-read/SKILL.md b/skills/gws-sheets-read/SKILL.md index a1711dc3..311fa6b5 100644 --- a/skills/gws-sheets-read/SKILL.md +++ b/skills/gws-sheets-read/SKILL.md @@ -13,7 +13,7 @@ metadata: # sheets +read -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Read values from a spreadsheet diff --git a/skills/gws-sheets/SKILL.md b/skills/gws-sheets/SKILL.md index d713253d..89260fe8 100644 --- a/skills/gws-sheets/SKILL.md +++ b/skills/gws-sheets/SKILL.md @@ -13,7 +13,7 @@ metadata: # sheets (v4) -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. ```bash gws sheets [flags] diff --git a/skills/gws-slides/SKILL.md b/skills/gws-slides/SKILL.md index afa06f97..81c62ea3 100644 --- a/skills/gws-slides/SKILL.md +++ b/skills/gws-slides/SKILL.md @@ -13,7 +13,7 @@ metadata: # slides (v1) -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. ```bash gws slides [flags] diff --git a/skills/gws-tasks/SKILL.md b/skills/gws-tasks/SKILL.md index da4b44d1..0bbdd0a3 100644 --- a/skills/gws-tasks/SKILL.md +++ b/skills/gws-tasks/SKILL.md @@ -13,7 +13,7 @@ metadata: # tasks (v1) -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. ```bash gws tasks [flags] diff --git a/skills/gws-workflow-email-to-task/SKILL.md b/skills/gws-workflow-email-to-task/SKILL.md index bf9456d7..06090004 100644 --- a/skills/gws-workflow-email-to-task/SKILL.md +++ b/skills/gws-workflow-email-to-task/SKILL.md @@ -13,7 +13,7 @@ metadata: # workflow +email-to-task -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Convert a Gmail message into a Google Tasks entry diff --git a/skills/gws-workflow-file-announce/SKILL.md b/skills/gws-workflow-file-announce/SKILL.md index 0937cd68..ba06f0df 100644 --- a/skills/gws-workflow-file-announce/SKILL.md +++ b/skills/gws-workflow-file-announce/SKILL.md @@ -13,7 +13,7 @@ metadata: # workflow +file-announce -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Announce a Drive file in a Chat space diff --git a/skills/gws-workflow-meeting-prep/SKILL.md b/skills/gws-workflow-meeting-prep/SKILL.md index f0edea82..b13aa750 100644 --- a/skills/gws-workflow-meeting-prep/SKILL.md +++ b/skills/gws-workflow-meeting-prep/SKILL.md @@ -13,7 +13,7 @@ metadata: # workflow +meeting-prep -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Prepare for your next meeting: agenda, attendees, and linked docs diff --git a/skills/gws-workflow-standup-report/SKILL.md b/skills/gws-workflow-standup-report/SKILL.md index 9b1a8c91..dbc5a3ff 100644 --- a/skills/gws-workflow-standup-report/SKILL.md +++ b/skills/gws-workflow-standup-report/SKILL.md @@ -13,7 +13,7 @@ metadata: # workflow +standup-report -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Today's meetings + open tasks as a standup summary diff --git a/skills/gws-workflow-weekly-digest/SKILL.md b/skills/gws-workflow-weekly-digest/SKILL.md index f07df867..fedeadf3 100644 --- a/skills/gws-workflow-weekly-digest/SKILL.md +++ b/skills/gws-workflow-weekly-digest/SKILL.md @@ -13,7 +13,7 @@ metadata: # workflow +weekly-digest -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. Weekly summary: this week's meetings + unread email count diff --git a/skills/gws-workflow/SKILL.md b/skills/gws-workflow/SKILL.md index 4078e159..68283821 100644 --- a/skills/gws-workflow/SKILL.md +++ b/skills/gws-workflow/SKILL.md @@ -13,7 +13,7 @@ metadata: # workflow (v1) -> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. +> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If you're installing skills selectively, install `gws-shared` alongside this skill. If you're generating skills from a local checkout, run `gws generate-skills` to create it. ```bash gws workflow [flags]