create-claude-code-visualizer 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/index.js +393 -0
  2. package/package.json +31 -0
  3. package/templates/CLAUDE.md +108 -0
  4. package/templates/app/.env.local.example +14 -0
  5. package/templates/app/ecosystem.config.js +29 -0
  6. package/templates/app/next-env.d.ts +6 -0
  7. package/templates/app/next.config.ts +16 -0
  8. package/templates/app/package-lock.json +4581 -0
  9. package/templates/app/package.json +38 -0
  10. package/templates/app/postcss.config.js +5 -0
  11. package/templates/app/src/app/agents/[slug]/chat/loading.tsx +26 -0
  12. package/templates/app/src/app/agents/[slug]/chat/page.tsx +579 -0
  13. package/templates/app/src/app/agents/[slug]/loading.tsx +19 -0
  14. package/templates/app/src/app/agents/page.tsx +8 -0
  15. package/templates/app/src/app/api/agents/[slug]/capabilities/route.ts +11 -0
  16. package/templates/app/src/app/api/agents/[slug]/route.ts +57 -0
  17. package/templates/app/src/app/api/agents/route.ts +28 -0
  18. package/templates/app/src/app/api/ai/generate-agent/route.ts +87 -0
  19. package/templates/app/src/app/api/ai/improve-claude-md/route.ts +78 -0
  20. package/templates/app/src/app/api/ai/suggestions/route.ts +64 -0
  21. package/templates/app/src/app/api/ai/title/route.ts +88 -0
  22. package/templates/app/src/app/api/auth/role/route.ts +17 -0
  23. package/templates/app/src/app/api/commands/[slug]/route.ts +61 -0
  24. package/templates/app/src/app/api/commands/route.ts +6 -0
  25. package/templates/app/src/app/api/governance/costs/route.ts +117 -0
  26. package/templates/app/src/app/api/governance/sessions/route.ts +335 -0
  27. package/templates/app/src/app/api/notifications/route.ts +62 -0
  28. package/templates/app/src/app/api/preferences/route.ts +44 -0
  29. package/templates/app/src/app/api/runs/[id]/approve/route.ts +38 -0
  30. package/templates/app/src/app/api/runs/[id]/events/route.ts +28 -0
  31. package/templates/app/src/app/api/runs/[id]/metadata/route.ts +30 -0
  32. package/templates/app/src/app/api/runs/[id]/route.ts +21 -0
  33. package/templates/app/src/app/api/runs/[id]/start/route.ts +61 -0
  34. package/templates/app/src/app/api/runs/[id]/stop/route.ts +16 -0
  35. package/templates/app/src/app/api/runs/[id]/stream/route.ts +201 -0
  36. package/templates/app/src/app/api/runs/route.ts +95 -0
  37. package/templates/app/src/app/api/schedules/[id]/route.ts +81 -0
  38. package/templates/app/src/app/api/schedules/route.ts +75 -0
  39. package/templates/app/src/app/api/settings/access-logs/route.ts +33 -0
  40. package/templates/app/src/app/api/settings/claude-md/route.ts +44 -0
  41. package/templates/app/src/app/api/settings/env-keys/route.ts +271 -0
  42. package/templates/app/src/app/api/settings/users/route.ts +108 -0
  43. package/templates/app/src/app/api/skills/[slug]/route.ts +43 -0
  44. package/templates/app/src/app/api/skills/route.ts +6 -0
  45. package/templates/app/src/app/api/tools/route.ts +65 -0
  46. package/templates/app/src/app/api/uploads/cleanup/route.ts +29 -0
  47. package/templates/app/src/app/api/uploads/route.ts +77 -0
  48. package/templates/app/src/app/auth/callback/route.ts +19 -0
  49. package/templates/app/src/app/globals.css +115 -0
  50. package/templates/app/src/app/layout.tsx +24 -0
  51. package/templates/app/src/app/loading.tsx +16 -0
  52. package/templates/app/src/app/login/page.tsx +64 -0
  53. package/templates/app/src/app/not-authorized/page.tsx +33 -0
  54. package/templates/app/src/app/runs/page.tsx +55 -0
  55. package/templates/app/src/app/schedules/page.tsx +110 -0
  56. package/templates/app/src/app/settings/page.tsx +1294 -0
  57. package/templates/app/src/app/skills/page.tsx +7 -0
  58. package/templates/app/src/components/agent-card.tsx +58 -0
  59. package/templates/app/src/components/agent-grid.tsx +90 -0
  60. package/templates/app/src/components/auth/auth-context.tsx +79 -0
  61. package/templates/app/src/components/chat-thread.tsx +50 -0
  62. package/templates/app/src/components/chat-view.tsx +670 -0
  63. package/templates/app/src/components/commands-browser.tsx +349 -0
  64. package/templates/app/src/components/create-agent-modal.tsx +388 -0
  65. package/templates/app/src/components/governance-dashboard.tsx +397 -0
  66. package/templates/app/src/components/icons.tsx +401 -0
  67. package/templates/app/src/components/layout/agent-sidebar.tsx +504 -0
  68. package/templates/app/src/components/layout/app-shell.tsx +29 -0
  69. package/templates/app/src/components/layout/nav.tsx +87 -0
  70. package/templates/app/src/components/layout/overview-inner.tsx +14 -0
  71. package/templates/app/src/components/layout/profile-menu.tsx +95 -0
  72. package/templates/app/src/components/layout/sidebar.tsx +30 -0
  73. package/templates/app/src/components/markdown.tsx +57 -0
  74. package/templates/app/src/components/message-bar.tsx +161 -0
  75. package/templates/app/src/components/notifications/notification-bell.tsx +104 -0
  76. package/templates/app/src/components/notifications/notification-panel.tsx +116 -0
  77. package/templates/app/src/components/overview/overview-content.tsx +287 -0
  78. package/templates/app/src/components/overview/overview-context.tsx +88 -0
  79. package/templates/app/src/components/preferences-modal.tsx +112 -0
  80. package/templates/app/src/components/run-form.tsx +73 -0
  81. package/templates/app/src/components/run-history-table.tsx +226 -0
  82. package/templates/app/src/components/run-output.tsx +187 -0
  83. package/templates/app/src/components/schedule-form.tsx +148 -0
  84. package/templates/app/src/components/skills-browser.tsx +338 -0
  85. package/templates/app/src/components/tool-tooltip.tsx +82 -0
  86. package/templates/app/src/hooks/use-sse.ts +115 -0
  87. package/templates/app/src/instrumentation.ts +9 -0
  88. package/templates/app/src/lib/agent-cache.ts +19 -0
  89. package/templates/app/src/lib/agent-runner.ts +411 -0
  90. package/templates/app/src/lib/agents.ts +168 -0
  91. package/templates/app/src/lib/ai.ts +40 -0
  92. package/templates/app/src/lib/approval-store.ts +70 -0
  93. package/templates/app/src/lib/auth-guard.ts +116 -0
  94. package/templates/app/src/lib/capabilities.ts +191 -0
  95. package/templates/app/src/lib/line-diff.ts +96 -0
  96. package/templates/app/src/lib/queue.ts +22 -0
  97. package/templates/app/src/lib/redis.ts +12 -0
  98. package/templates/app/src/lib/role-permissions.ts +166 -0
  99. package/templates/app/src/lib/run-agent.ts +442 -0
  100. package/templates/app/src/lib/supabase-browser.ts +8 -0
  101. package/templates/app/src/lib/supabase-middleware.ts +63 -0
  102. package/templates/app/src/lib/supabase-server.ts +28 -0
  103. package/templates/app/src/lib/supabase.ts +6 -0
  104. package/templates/app/src/lib/tool-descriptions.ts +29 -0
  105. package/templates/app/src/lib/types.ts +73 -0
  106. package/templates/app/src/lib/typewriter-animation.ts +159 -0
  107. package/templates/app/src/middleware.ts +13 -0
  108. package/templates/app/tsconfig.json +21 -0
  109. package/templates/app/uploads/.gitkeep +0 -0
  110. package/templates/app/worker/index.ts +342 -0
  111. package/templates/claude/agents/ai-trends-scout.md +66 -0
  112. package/templates/claude/commands/add-to-todos.md +56 -0
  113. package/templates/claude/commands/check-todos.md +56 -0
  114. package/templates/claude/hooks/auto-approve-safe.sh +34 -0
  115. package/templates/claude/hooks/auto-format.sh +25 -0
  116. package/templates/claude/hooks/block-destructive.sh +32 -0
  117. package/templates/claude/hooks/compaction-preserver.sh +16 -0
  118. package/templates/claude/hooks/notify.sh +26 -0
  119. package/templates/claude/settings.local.json +66 -0
  120. package/templates/claude/skills/frontend-design/SKILL.md +127 -0
  121. package/templates/claude/skills/frontend-design/reference/color-and-contrast.md +132 -0
  122. package/templates/claude/skills/frontend-design/reference/interaction-design.md +123 -0
  123. package/templates/claude/skills/frontend-design/reference/motion-design.md +99 -0
  124. package/templates/claude/skills/frontend-design/reference/responsive-design.md +114 -0
  125. package/templates/claude/skills/frontend-design/reference/spatial-design.md +100 -0
  126. package/templates/claude/skills/frontend-design/reference/typography.md +131 -0
  127. package/templates/claude/skills/frontend-design/reference/ux-writing.md +107 -0
  128. package/templates/claude/skills/gws-admin-reports/SKILL.md +57 -0
  129. package/templates/claude/skills/gws-calendar/SKILL.md +108 -0
  130. package/templates/claude/skills/gws-calendar-agenda/SKILL.md +52 -0
  131. package/templates/claude/skills/gws-calendar-insert/SKILL.md +55 -0
  132. package/templates/claude/skills/gws-chat/SKILL.md +73 -0
  133. package/templates/claude/skills/gws-chat-send/SKILL.md +49 -0
  134. package/templates/claude/skills/gws-classroom/SKILL.md +75 -0
  135. package/templates/claude/skills/gws-docs/SKILL.md +48 -0
  136. package/templates/claude/skills/gws-docs-write/SKILL.md +49 -0
  137. package/templates/claude/skills/gws-drive/SKILL.md +137 -0
  138. package/templates/claude/skills/gws-drive-upload/SKILL.md +52 -0
  139. package/templates/claude/skills/gws-events/SKILL.md +67 -0
  140. package/templates/claude/skills/gws-events-renew/SKILL.md +48 -0
  141. package/templates/claude/skills/gws-events-subscribe/SKILL.md +59 -0
  142. package/templates/claude/skills/gws-forms/SKILL.md +45 -0
  143. package/templates/claude/skills/gws-gmail/SKILL.md +59 -0
  144. package/templates/claude/skills/gws-gmail-forward/SKILL.md +53 -0
  145. package/templates/claude/skills/gws-gmail-reply/SKILL.md +56 -0
  146. package/templates/claude/skills/gws-gmail-reply-all/SKILL.md +60 -0
  147. package/templates/claude/skills/gws-gmail-send/SKILL.md +55 -0
  148. package/templates/claude/skills/gws-gmail-triage/SKILL.md +50 -0
  149. package/templates/claude/skills/gws-gmail-watch/SKILL.md +58 -0
  150. package/templates/claude/skills/gws-keep/SKILL.md +48 -0
  151. package/templates/claude/skills/gws-meet/SKILL.md +51 -0
  152. package/templates/claude/skills/gws-modelarmor/SKILL.md +42 -0
  153. package/templates/claude/skills/gws-modelarmor-create-template/SKILL.md +53 -0
  154. package/templates/claude/skills/gws-modelarmor-sanitize-prompt/SKILL.md +48 -0
  155. package/templates/claude/skills/gws-modelarmor-sanitize-response/SKILL.md +48 -0
  156. package/templates/claude/skills/gws-people/SKILL.md +67 -0
  157. package/templates/claude/skills/gws-shared/SKILL.md +66 -0
  158. package/templates/claude/skills/gws-sheets/SKILL.md +53 -0
  159. package/templates/claude/skills/gws-sheets-append/SKILL.md +51 -0
  160. package/templates/claude/skills/gws-sheets-read/SKILL.md +47 -0
  161. package/templates/claude/skills/gws-slides/SKILL.md +43 -0
  162. package/templates/claude/skills/gws-tasks/SKILL.md +56 -0
  163. package/templates/claude/skills/gws-workflow/SKILL.md +44 -0
  164. package/templates/claude/skills/gws-workflow-email-to-task/SKILL.md +47 -0
  165. package/templates/claude/skills/gws-workflow-file-announce/SKILL.md +50 -0
  166. package/templates/claude/skills/gws-workflow-meeting-prep/SKILL.md +47 -0
  167. package/templates/claude/skills/gws-workflow-standup-report/SKILL.md +46 -0
  168. package/templates/claude/skills/gws-workflow-weekly-digest/SKILL.md +46 -0
  169. package/templates/claude/skills/persona-content-creator/SKILL.md +33 -0
  170. package/templates/claude/skills/persona-customer-support/SKILL.md +34 -0
  171. package/templates/claude/skills/persona-event-coordinator/SKILL.md +35 -0
  172. package/templates/claude/skills/persona-exec-assistant/SKILL.md +35 -0
  173. package/templates/claude/skills/persona-hr-coordinator/SKILL.md +33 -0
  174. package/templates/claude/skills/persona-it-admin/SKILL.md +30 -0
  175. package/templates/claude/skills/persona-project-manager/SKILL.md +35 -0
  176. package/templates/claude/skills/persona-researcher/SKILL.md +33 -0
  177. package/templates/claude/skills/persona-sales-ops/SKILL.md +35 -0
  178. package/templates/claude/skills/persona-team-lead/SKILL.md +36 -0
  179. package/templates/claude/skills/recipe-backup-sheet-as-csv/SKILL.md +25 -0
  180. package/templates/claude/skills/recipe-batch-invite-to-event/SKILL.md +25 -0
  181. package/templates/claude/skills/recipe-block-focus-time/SKILL.md +24 -0
  182. package/templates/claude/skills/recipe-bulk-download-folder/SKILL.md +25 -0
  183. package/templates/claude/skills/recipe-collect-form-responses/SKILL.md +25 -0
  184. package/templates/claude/skills/recipe-compare-sheet-tabs/SKILL.md +25 -0
  185. package/templates/claude/skills/recipe-copy-sheet-for-new-month/SKILL.md +25 -0
  186. package/templates/claude/skills/recipe-create-classroom-course/SKILL.md +25 -0
  187. package/templates/claude/skills/recipe-create-doc-from-template/SKILL.md +29 -0
  188. package/templates/claude/skills/recipe-create-events-from-sheet/SKILL.md +24 -0
  189. package/templates/claude/skills/recipe-create-expense-tracker/SKILL.md +26 -0
  190. package/templates/claude/skills/recipe-create-feedback-form/SKILL.md +25 -0
  191. package/templates/claude/skills/recipe-create-gmail-filter/SKILL.md +26 -0
  192. package/templates/claude/skills/recipe-create-meet-space/SKILL.md +25 -0
  193. package/templates/claude/skills/recipe-create-presentation/SKILL.md +25 -0
  194. package/templates/claude/skills/recipe-create-shared-drive/SKILL.md +25 -0
  195. package/templates/claude/skills/recipe-create-task-list/SKILL.md +26 -0
  196. package/templates/claude/skills/recipe-create-vacation-responder/SKILL.md +25 -0
  197. package/templates/claude/skills/recipe-draft-email-from-doc/SKILL.md +25 -0
  198. package/templates/claude/skills/recipe-email-drive-link/SKILL.md +25 -0
  199. package/templates/claude/skills/recipe-find-free-time/SKILL.md +25 -0
  200. package/templates/claude/skills/recipe-find-large-files/SKILL.md +24 -0
  201. package/templates/claude/skills/recipe-forward-labeled-emails/SKILL.md +27 -0
  202. package/templates/claude/skills/recipe-generate-report-from-sheet/SKILL.md +34 -0
  203. package/templates/claude/skills/recipe-label-and-archive-emails/SKILL.md +25 -0
  204. package/templates/claude/skills/recipe-log-deal-update/SKILL.md +25 -0
  205. package/templates/claude/skills/recipe-organize-drive-folder/SKILL.md +26 -0
  206. package/templates/claude/skills/recipe-plan-weekly-schedule/SKILL.md +26 -0
  207. package/templates/claude/skills/recipe-post-mortem-setup/SKILL.md +25 -0
  208. package/templates/claude/skills/recipe-reschedule-meeting/SKILL.md +25 -0
  209. package/templates/claude/skills/recipe-review-meet-participants/SKILL.md +25 -0
  210. package/templates/claude/skills/recipe-review-overdue-tasks/SKILL.md +25 -0
  211. package/templates/claude/skills/recipe-save-email-attachments/SKILL.md +26 -0
  212. package/templates/claude/skills/recipe-save-email-to-doc/SKILL.md +29 -0
  213. package/templates/claude/skills/recipe-schedule-recurring-event/SKILL.md +24 -0
  214. package/templates/claude/skills/recipe-send-team-announcement/SKILL.md +24 -0
  215. package/templates/claude/skills/recipe-share-doc-and-notify/SKILL.md +25 -0
  216. package/templates/claude/skills/recipe-share-event-materials/SKILL.md +25 -0
  217. package/templates/claude/skills/recipe-share-folder-with-team/SKILL.md +26 -0
  218. package/templates/claude/skills/recipe-sync-contacts-to-sheet/SKILL.md +25 -0
  219. package/templates/claude/skills/recipe-watch-drive-changes/SKILL.md +25 -0
  220. package/templates/mcp.json +12 -0
@@ -0,0 +1,137 @@
1
+ ---
2
+ name: gws-drive
3
+ version: 1.0.0
4
+ description: "Google Drive: Manage files, folders, and shared drives."
5
+ metadata:
6
+ openclaw:
7
+ category: "productivity"
8
+ requires:
9
+ bins: ["gws"]
10
+ cliHelp: "gws drive --help"
11
+ ---
12
+
13
+ # drive (v3)
14
+
15
+ > **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.
16
+
17
+ ```bash
18
+ gws drive <resource> <method> [flags]
19
+ ```
20
+
21
+ ## Helper Commands
22
+
23
+ | Command | Description |
24
+ |---------|-------------|
25
+ | [`+upload`](../gws-drive-upload/SKILL.md) | Upload a file with automatic metadata |
26
+
27
+ ## API Resources
28
+
29
+ ### about
30
+
31
+ - `get` — Gets information about the user, the user's Drive, and system capabilities. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).
32
+
33
+ ### accessproposals
34
+
35
+ - `get` — Retrieves an access proposal by ID. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access).
36
+ - `list` — List the access proposals on a file. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access). Note: Only approvers are able to list access proposals on a file. If the user isn't an approver, a 403 error is returned.
37
+ - `resolve` — Approves or denies an access proposal. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access).
38
+
39
+ ### approvals
40
+
41
+ - `get` — Gets an Approval by ID.
42
+ - `list` — Lists the Approvals on a file.
43
+
44
+ ### apps
45
+
46
+ - `get` — Gets a specific app. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info).
47
+ - `list` — Lists a user's installed apps. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info).
48
+
49
+ ### changes
50
+
51
+ - `getStartPageToken` — Gets the starting pageToken for listing future changes. For more information, see [Retrieve changes](https://developers.google.com/workspace/drive/api/guides/manage-changes).
52
+ - `list` — Lists the changes for a user or shared drive. For more information, see [Retrieve changes](https://developers.google.com/workspace/drive/api/guides/manage-changes).
53
+ - `watch` — Subscribes to changes for a user. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push).
54
+
55
+ ### channels
56
+
57
+ - `stop` — Stops watching resources through this channel. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push).
58
+
59
+ ### comments
60
+
61
+ - `create` — Creates a comment on a file. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).
62
+ - `delete` — Deletes a comment. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).
63
+ - `get` — Gets a comment by ID. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).
64
+ - `list` — Lists a file's comments. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).
65
+ - `update` — Updates a comment with patch semantics. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).
66
+
67
+ ### drives
68
+
69
+ - `create` — Creates a shared drive. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).
70
+ - `get` — Gets a shared drive's metadata by ID. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).
71
+ - `hide` — Hides a shared drive from the default view. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).
72
+ - `list` — Lists the user's shared drives. This method accepts the `q` parameter, which is a search query combining one or more search terms. For more information, see the [Search for shared drives](/workspace/drive/api/guides/search-shareddrives) guide.
73
+ - `unhide` — Restores a shared drive to the default view. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).
74
+ - `update` — Updates the metadata for a shared drive. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).
75
+
76
+ ### files
77
+
78
+ - `copy` — Creates a copy of a file and applies any requested updates with patch semantics. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file).
79
+ - `create` — Creates a file. For more information, see [Create and manage files](/workspace/drive/api/guides/create-file). This method supports an */upload* URI and accepts uploaded media with the following characteristics: - *Maximum file size:* 5,120 GB - *Accepted Media MIME types:* `*/*` (Specify a valid MIME type, rather than the literal `*/*` value. The literal `*/*` is only used to indicate that any valid MIME type can be uploaded.
80
+ - `download` — Downloads the content of a file. For more information, see [Download and export files](https://developers.google.com/workspace/drive/api/guides/manage-downloads). Operations are valid for 24 hours from the time of creation.
81
+ - `export` — Exports a Google Workspace document to the requested MIME type and returns exported byte content. For more information, see [Download and export files](https://developers.google.com/workspace/drive/api/guides/manage-downloads). Note that the exported content is limited to 10 MB.
82
+ - `generateIds` — Generates a set of file IDs which can be provided in create or copy requests. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file).
83
+ - `get` — Gets a file's metadata or content by ID. For more information, see [Search for files and folders](/workspace/drive/api/guides/search-files). If you provide the URL parameter `alt=media`, then the response includes the file contents in the response body. Downloading content with `alt=media` only works if the file is stored in Drive. To download Google Docs, Sheets, and Slides use [`files.export`](/workspace/drive/api/reference/rest/v3/files/export) instead.
84
+ - `list` — Lists the user's files. For more information, see [Search for files and folders](/workspace/drive/api/guides/search-files). This method accepts the `q` parameter, which is a search query combining one or more search terms. This method returns *all* files by default, including trashed files. If you don't want trashed files to appear in the list, use the `trashed=false` query parameter to remove trashed files from the results.
85
+ - `listLabels` — Lists the labels on a file. For more information, see [List labels on a file](https://developers.google.com/workspace/drive/api/guides/list-labels).
86
+ - `modifyLabels` — Modifies the set of labels applied to a file. For more information, see [Set a label field on a file](https://developers.google.com/workspace/drive/api/guides/set-label). Returns a list of the labels that were added or modified.
87
+ - `update` — Updates a file's metadata, content, or both. When calling this method, only populate fields in the request that you want to modify. When updating fields, some fields might be changed automatically, such as `modifiedDate`. This method supports patch semantics. This method supports an */upload* URI and accepts uploaded media with the following characteristics: - *Maximum file size:* 5,120 GB - *Accepted Media MIME types:* `*/*` (Specify a valid MIME type, rather than the literal `*/*` value.
88
+ - `watch` — Subscribes to changes to a file. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push).
89
+
90
+ ### operations
91
+
92
+ - `get` — Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
93
+
94
+ ### permissions
95
+
96
+ - `create` — Creates a permission for a file or shared drive. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied.
97
+ - `delete` — Deletes a permission. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied.
98
+ - `get` — Gets a permission by ID. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing).
99
+ - `list` — Lists a file's or shared drive's permissions. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing).
100
+ - `update` — Updates a permission with patch semantics. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied.
101
+
102
+ ### replies
103
+
104
+ - `create` — Creates a reply to a comment. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).
105
+ - `delete` — Deletes a reply. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).
106
+ - `get` — Gets a reply by ID. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).
107
+ - `list` — Lists a comment's replies. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).
108
+ - `update` — Updates a reply with patch semantics. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).
109
+
110
+ ### revisions
111
+
112
+ - `delete` — Permanently deletes a file version. You can only delete revisions for files with binary content in Google Drive, like images or videos. Revisions for other files, like Google Docs or Sheets, and the last remaining file version can't be deleted. For more information, see [Manage file revisions](https://developers.google.com/drive/api/guides/manage-revisions).
113
+ - `get` — Gets a revision's metadata or content by ID. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-revisions).
114
+ - `list` — Lists a file's revisions. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-revisions). **Important:** The list of revisions returned by this method might be incomplete for files with a large revision history, including frequently edited Google Docs, Sheets, and Slides. Older revisions might be omitted from the response, meaning the first revision returned may not be the oldest existing revision.
115
+ - `update` — Updates a revision with patch semantics. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-revisions).
116
+
117
+ ### teamdrives
118
+
119
+ - `create` — Deprecated: Use `drives.create` instead.
120
+ - `get` — Deprecated: Use `drives.get` instead.
121
+ - `list` — Deprecated: Use `drives.list` instead.
122
+ - `update` — Deprecated: Use `drives.update` instead.
123
+
124
+ ## Discovering Commands
125
+
126
+ Before calling any API method, inspect it:
127
+
128
+ ```bash
129
+ # Browse resources and methods
130
+ gws drive --help
131
+
132
+ # Inspect a method's required params, types, and defaults
133
+ gws schema drive.<resource>.<method>
134
+ ```
135
+
136
+ Use `gws schema` output to build your `--params` and `--json` flags.
137
+
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: gws-drive-upload
3
+ version: 1.0.0
4
+ description: "Google Drive: Upload a file with automatic metadata."
5
+ metadata:
6
+ openclaw:
7
+ category: "productivity"
8
+ requires:
9
+ bins: ["gws"]
10
+ cliHelp: "gws drive +upload --help"
11
+ ---
12
+
13
+ # drive +upload
14
+
15
+ > **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.
16
+
17
+ Upload a file with automatic metadata
18
+
19
+ ## Usage
20
+
21
+ ```bash
22
+ gws drive +upload <file>
23
+ ```
24
+
25
+ ## Flags
26
+
27
+ | Flag | Required | Default | Description |
28
+ |------|----------|---------|-------------|
29
+ | `<file>` | ✓ | — | Path to file to upload |
30
+ | `--parent` | — | — | Parent folder ID |
31
+ | `--name` | — | — | Target filename (defaults to source filename) |
32
+
33
+ ## Examples
34
+
35
+ ```bash
36
+ gws drive +upload ./report.pdf
37
+ gws drive +upload ./report.pdf --parent FOLDER_ID
38
+ gws drive +upload ./data.csv --name 'Sales Data.csv'
39
+ ```
40
+
41
+ ## Tips
42
+
43
+ - MIME type is detected automatically.
44
+ - Filename is inferred from the local path unless --name is given.
45
+
46
+ > [!CAUTION]
47
+ > This is a **write** command — confirm with the user before executing.
48
+
49
+ ## See Also
50
+
51
+ - [gws-shared](../gws-shared/SKILL.md) — Global flags and auth
52
+ - [gws-drive](../gws-drive/SKILL.md) — All manage files, folders, and shared drives commands
@@ -0,0 +1,67 @@
1
+ ---
2
+ name: gws-events
3
+ version: 1.0.0
4
+ description: "Subscribe to Google Workspace events."
5
+ metadata:
6
+ openclaw:
7
+ category: "productivity"
8
+ requires:
9
+ bins: ["gws"]
10
+ cliHelp: "gws events --help"
11
+ ---
12
+
13
+ # events (v1)
14
+
15
+ > **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.
16
+
17
+ ```bash
18
+ gws events <resource> <method> [flags]
19
+ ```
20
+
21
+ ## Helper Commands
22
+
23
+ | Command | Description |
24
+ |---------|-------------|
25
+ | [`+subscribe`](../gws-events-subscribe/SKILL.md) | Subscribe to Workspace events and stream them as NDJSON |
26
+ | [`+renew`](../gws-events-renew/SKILL.md) | Renew/reactivate Workspace Events subscriptions |
27
+
28
+ ## API Resources
29
+
30
+ ### message
31
+
32
+ - `stream` — SendStreamingMessage is a streaming call that will return a stream of task update events until the Task is in an interrupted or terminal state.
33
+
34
+ ### operations
35
+
36
+ - `get` — Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
37
+
38
+ ### subscriptions
39
+
40
+ - `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).
41
+ - `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).
42
+ - `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).
43
+ - `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).
44
+ - `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).
45
+ - `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).
46
+
47
+ ### tasks
48
+
49
+ - `cancel` — Cancel a task from the agent. If supported one should expect no more task updates for the task.
50
+ - `get` — Get the current state of a task from the agent.
51
+ - `subscribe` — TaskSubscription is a streaming call that will return a stream of task update events. This attaches the stream to an existing in process task. If the task is complete the stream will return the completed task (like GetTask) and close the stream.
52
+ - `pushNotificationConfigs` — Operations on the 'pushNotificationConfigs' resource
53
+
54
+ ## Discovering Commands
55
+
56
+ Before calling any API method, inspect it:
57
+
58
+ ```bash
59
+ # Browse resources and methods
60
+ gws events --help
61
+
62
+ # Inspect a method's required params, types, and defaults
63
+ gws schema events.<resource>.<method>
64
+ ```
65
+
66
+ Use `gws schema` output to build your `--params` and `--json` flags.
67
+
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: gws-events-renew
3
+ version: 1.0.0
4
+ description: "Google Workspace Events: Renew/reactivate Workspace Events subscriptions."
5
+ metadata:
6
+ openclaw:
7
+ category: "productivity"
8
+ requires:
9
+ bins: ["gws"]
10
+ cliHelp: "gws events +renew --help"
11
+ ---
12
+
13
+ # events +renew
14
+
15
+ > **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.
16
+
17
+ Renew/reactivate Workspace Events subscriptions
18
+
19
+ ## Usage
20
+
21
+ ```bash
22
+ gws events +renew
23
+ ```
24
+
25
+ ## Flags
26
+
27
+ | Flag | Required | Default | Description |
28
+ |------|----------|---------|-------------|
29
+ | `--name` | — | — | Subscription name to reactivate (e.g., subscriptions/SUB_ID) |
30
+ | `--all` | — | — | Renew all subscriptions expiring within --within window |
31
+ | `--within` | — | 1h | Time window for --all (e.g., 1h, 30m, 2d) |
32
+
33
+ ## Examples
34
+
35
+ ```bash
36
+ gws events +renew --name subscriptions/SUB_ID
37
+ gws events +renew --all --within 2d
38
+ ```
39
+
40
+ ## Tips
41
+
42
+ - Subscriptions expire if not renewed periodically.
43
+ - Use --all with a cron job to keep subscriptions alive.
44
+
45
+ ## See Also
46
+
47
+ - [gws-shared](../gws-shared/SKILL.md) — Global flags and auth
48
+ - [gws-events](../gws-events/SKILL.md) — All subscribe to google workspace events commands
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: gws-events-subscribe
3
+ version: 1.0.0
4
+ description: "Google Workspace Events: Subscribe to Workspace events and stream them as NDJSON."
5
+ metadata:
6
+ openclaw:
7
+ category: "productivity"
8
+ requires:
9
+ bins: ["gws"]
10
+ cliHelp: "gws events +subscribe --help"
11
+ ---
12
+
13
+ # events +subscribe
14
+
15
+ > **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.
16
+
17
+ Subscribe to Workspace events and stream them as NDJSON
18
+
19
+ ## Usage
20
+
21
+ ```bash
22
+ gws events +subscribe
23
+ ```
24
+
25
+ ## Flags
26
+
27
+ | Flag | Required | Default | Description |
28
+ |------|----------|---------|-------------|
29
+ | `--target` | — | — | Workspace resource URI (e.g., //chat.googleapis.com/spaces/SPACE_ID) |
30
+ | `--event-types` | — | — | Comma-separated CloudEvents types to subscribe to |
31
+ | `--project` | — | — | GCP project ID for Pub/Sub resources |
32
+ | `--subscription` | — | — | Existing Pub/Sub subscription name (skip setup) |
33
+ | `--max-messages` | — | 10 | Max messages per pull batch (default: 10) |
34
+ | `--poll-interval` | — | 5 | Seconds between pulls (default: 5) |
35
+ | `--once` | — | — | Pull once and exit |
36
+ | `--cleanup` | — | — | Delete created Pub/Sub resources on exit |
37
+ | `--no-ack` | — | — | Don't auto-acknowledge messages |
38
+ | `--output-dir` | — | — | Write each event to a separate JSON file in this directory |
39
+
40
+ ## Examples
41
+
42
+ ```bash
43
+ gws events +subscribe --target '//chat.googleapis.com/spaces/SPACE' --event-types 'google.workspace.chat.message.v1.created' --project my-project
44
+ gws events +subscribe --subscription projects/p/subscriptions/my-sub --once
45
+ gws events +subscribe ... --cleanup --output-dir ./events
46
+ ```
47
+
48
+ ## Tips
49
+
50
+ - Without --cleanup, Pub/Sub resources persist for reconnection.
51
+ - Press Ctrl-C to stop gracefully.
52
+
53
+ > [!CAUTION]
54
+ > This is a **write** command — confirm with the user before executing.
55
+
56
+ ## See Also
57
+
58
+ - [gws-shared](../gws-shared/SKILL.md) — Global flags and auth
59
+ - [gws-events](../gws-events/SKILL.md) — All subscribe to google workspace events commands
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: gws-forms
3
+ version: 1.0.0
4
+ description: "Read and write Google Forms."
5
+ metadata:
6
+ openclaw:
7
+ category: "productivity"
8
+ requires:
9
+ bins: ["gws"]
10
+ cliHelp: "gws forms --help"
11
+ ---
12
+
13
+ # forms (v1)
14
+
15
+ > **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.
16
+
17
+ ```bash
18
+ gws forms <resource> <method> [flags]
19
+ ```
20
+
21
+ ## API Resources
22
+
23
+ ### forms
24
+
25
+ - `batchUpdate` — Change the form with a batch of updates.
26
+ - `create` — Create a new form using the title given in the provided form message in the request. *Important:* Only the form.info.title and form.info.document_title fields are copied to the new form. All other fields including the form description, items and settings are disallowed. To create a new form and add items, you must first call forms.create to create an empty form with a title and (optional) document title, and then call forms.update to add the items.
27
+ - `get` — Get a form.
28
+ - `setPublishSettings` — Updates the publish settings of a form. Legacy forms aren't supported because they don't have the `publish_settings` field.
29
+ - `responses` — Operations on the 'responses' resource
30
+ - `watches` — Operations on the 'watches' resource
31
+
32
+ ## Discovering Commands
33
+
34
+ Before calling any API method, inspect it:
35
+
36
+ ```bash
37
+ # Browse resources and methods
38
+ gws forms --help
39
+
40
+ # Inspect a method's required params, types, and defaults
41
+ gws schema forms.<resource>.<method>
42
+ ```
43
+
44
+ Use `gws schema` output to build your `--params` and `--json` flags.
45
+
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: gws-gmail
3
+ version: 1.0.0
4
+ description: "Gmail: Send, read, and manage email."
5
+ metadata:
6
+ openclaw:
7
+ category: "productivity"
8
+ requires:
9
+ bins: ["gws"]
10
+ cliHelp: "gws gmail --help"
11
+ ---
12
+
13
+ # gmail (v1)
14
+
15
+ > **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.
16
+
17
+ ```bash
18
+ gws gmail <resource> <method> [flags]
19
+ ```
20
+
21
+ ## Helper Commands
22
+
23
+ | Command | Description |
24
+ |---------|-------------|
25
+ | [`+send`](../gws-gmail-send/SKILL.md) | Send an email |
26
+ | [`+triage`](../gws-gmail-triage/SKILL.md) | Show unread inbox summary (sender, subject, date) |
27
+ | [`+reply`](../gws-gmail-reply/SKILL.md) | Reply to a message (handles threading automatically) |
28
+ | [`+reply-all`](../gws-gmail-reply-all/SKILL.md) | Reply-all to a message (handles threading automatically) |
29
+ | [`+forward`](../gws-gmail-forward/SKILL.md) | Forward a message to new recipients |
30
+ | [`+watch`](../gws-gmail-watch/SKILL.md) | Watch for new emails and stream them as NDJSON |
31
+
32
+ ## API Resources
33
+
34
+ ### users
35
+
36
+ - `getProfile` — Gets the current user's Gmail profile.
37
+ - `stop` — Stop receiving push notifications for the given user mailbox.
38
+ - `watch` — Set up or update a push notification watch on the given user mailbox.
39
+ - `drafts` — Operations on the 'drafts' resource
40
+ - `history` — Operations on the 'history' resource
41
+ - `labels` — Operations on the 'labels' resource
42
+ - `messages` — Operations on the 'messages' resource
43
+ - `settings` — Operations on the 'settings' resource
44
+ - `threads` — Operations on the 'threads' resource
45
+
46
+ ## Discovering Commands
47
+
48
+ Before calling any API method, inspect it:
49
+
50
+ ```bash
51
+ # Browse resources and methods
52
+ gws gmail --help
53
+
54
+ # Inspect a method's required params, types, and defaults
55
+ gws schema gmail.<resource>.<method>
56
+ ```
57
+
58
+ Use `gws schema` output to build your `--params` and `--json` flags.
59
+
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: gws-gmail-forward
3
+ version: 1.0.0
4
+ description: "Gmail: Forward a message to new recipients."
5
+ metadata:
6
+ openclaw:
7
+ category: "productivity"
8
+ requires:
9
+ bins: ["gws"]
10
+ cliHelp: "gws gmail +forward --help"
11
+ ---
12
+
13
+ # gmail +forward
14
+
15
+ > **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.
16
+
17
+ Forward a message to new recipients
18
+
19
+ ## Usage
20
+
21
+ ```bash
22
+ gws gmail +forward --message-id <ID> --to <EMAILS>
23
+ ```
24
+
25
+ ## Flags
26
+
27
+ | Flag | Required | Default | Description |
28
+ |------|----------|---------|-------------|
29
+ | `--message-id` | ✓ | — | Gmail message ID to forward |
30
+ | `--to` | ✓ | — | Recipient email address(es), comma-separated |
31
+ | `--from` | — | — | Sender address (for send-as/alias; omit to use account default) |
32
+ | `--cc` | — | — | CC email address(es), comma-separated |
33
+ | `--bcc` | — | — | BCC email address(es), comma-separated |
34
+ | `--body` | — | — | Optional note to include above the forwarded message |
35
+ | `--dry-run` | — | — | Show the request that would be sent without executing it |
36
+
37
+ ## Examples
38
+
39
+ ```bash
40
+ gws gmail +forward --message-id 18f1a2b3c4d --to dave@example.com
41
+ gws gmail +forward --message-id 18f1a2b3c4d --to dave@example.com --body 'FYI see below'
42
+ gws gmail +forward --message-id 18f1a2b3c4d --to dave@example.com --cc eve@example.com
43
+ gws gmail +forward --message-id 18f1a2b3c4d --to dave@example.com --bcc secret@example.com
44
+ ```
45
+
46
+ ## Tips
47
+
48
+ - Includes the original message with sender, date, subject, and recipients.
49
+
50
+ ## See Also
51
+
52
+ - [gws-shared](../gws-shared/SKILL.md) — Global flags and auth
53
+ - [gws-gmail](../gws-gmail/SKILL.md) — All send, read, and manage email commands
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: gws-gmail-reply
3
+ version: 1.0.0
4
+ description: "Gmail: Reply to a message (handles threading automatically)."
5
+ metadata:
6
+ openclaw:
7
+ category: "productivity"
8
+ requires:
9
+ bins: ["gws"]
10
+ cliHelp: "gws gmail +reply --help"
11
+ ---
12
+
13
+ # gmail +reply
14
+
15
+ > **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.
16
+
17
+ Reply to a message (handles threading automatically)
18
+
19
+ ## Usage
20
+
21
+ ```bash
22
+ gws gmail +reply --message-id <ID> --body <TEXT>
23
+ ```
24
+
25
+ ## Flags
26
+
27
+ | Flag | Required | Default | Description |
28
+ |------|----------|---------|-------------|
29
+ | `--message-id` | ✓ | — | Gmail message ID to reply to |
30
+ | `--body` | ✓ | — | Reply body (plain text) |
31
+ | `--from` | — | — | Sender address (for send-as/alias; omit to use account default) |
32
+ | `--to` | — | — | Additional To email address(es), comma-separated |
33
+ | `--cc` | — | — | Additional CC email address(es), comma-separated |
34
+ | `--bcc` | — | — | BCC email address(es), comma-separated |
35
+ | `--dry-run` | — | — | Show the request that would be sent without executing it |
36
+
37
+ ## Examples
38
+
39
+ ```bash
40
+ gws gmail +reply --message-id 18f1a2b3c4d --body 'Thanks, got it!'
41
+ gws gmail +reply --message-id 18f1a2b3c4d --body 'Looping in Carol' --cc carol@example.com
42
+ gws gmail +reply --message-id 18f1a2b3c4d --body 'Adding Dave' --to dave@example.com
43
+ gws gmail +reply --message-id 18f1a2b3c4d --body 'Reply' --bcc secret@example.com
44
+ ```
45
+
46
+ ## Tips
47
+
48
+ - Automatically sets In-Reply-To, References, and threadId headers.
49
+ - Quotes the original message in the reply body.
50
+ - --to adds extra recipients to the To field.
51
+ - For reply-all, use +reply-all instead.
52
+
53
+ ## See Also
54
+
55
+ - [gws-shared](../gws-shared/SKILL.md) — Global flags and auth
56
+ - [gws-gmail](../gws-gmail/SKILL.md) — All send, read, and manage email commands
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: gws-gmail-reply-all
3
+ version: 1.0.0
4
+ description: "Gmail: Reply-all to a message (handles threading automatically)."
5
+ metadata:
6
+ openclaw:
7
+ category: "productivity"
8
+ requires:
9
+ bins: ["gws"]
10
+ cliHelp: "gws gmail +reply-all --help"
11
+ ---
12
+
13
+ # gmail +reply-all
14
+
15
+ > **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.
16
+
17
+ Reply-all to a message (handles threading automatically)
18
+
19
+ ## Usage
20
+
21
+ ```bash
22
+ gws gmail +reply-all --message-id <ID> --body <TEXT>
23
+ ```
24
+
25
+ ## Flags
26
+
27
+ | Flag | Required | Default | Description |
28
+ |------|----------|---------|-------------|
29
+ | `--message-id` | ✓ | — | Gmail message ID to reply to |
30
+ | `--body` | ✓ | — | Reply body (plain text) |
31
+ | `--from` | — | — | Sender address (for send-as/alias; omit to use account default) |
32
+ | `--to` | — | — | Additional To email address(es), comma-separated |
33
+ | `--cc` | — | — | Additional CC email address(es), comma-separated |
34
+ | `--bcc` | — | — | BCC email address(es), comma-separated |
35
+ | `--remove` | — | — | Exclude recipients from the outgoing reply (comma-separated emails) |
36
+ | `--dry-run` | — | — | Show the request that would be sent without executing it |
37
+
38
+ ## Examples
39
+
40
+ ```bash
41
+ gws gmail +reply-all --message-id 18f1a2b3c4d --body 'Sounds good to me!'
42
+ gws gmail +reply-all --message-id 18f1a2b3c4d --body 'Updated' --remove bob@example.com
43
+ gws gmail +reply-all --message-id 18f1a2b3c4d --body 'Adding Eve' --cc eve@example.com
44
+ gws gmail +reply-all --message-id 18f1a2b3c4d --body 'Adding Dave' --to dave@example.com
45
+ gws gmail +reply-all --message-id 18f1a2b3c4d --body 'Reply' --bcc secret@example.com
46
+ ```
47
+
48
+ ## Tips
49
+
50
+ - Replies to the sender and all original To/CC recipients.
51
+ - Use --to to add extra recipients to the To field.
52
+ - Use --cc to add new CC recipients.
53
+ - Use --bcc for recipients who should not be visible to others.
54
+ - Use --remove to exclude recipients from the outgoing reply, including the sender or Reply-To target.
55
+ - The command fails if no To recipient remains after exclusions and --to additions.
56
+
57
+ ## See Also
58
+
59
+ - [gws-shared](../gws-shared/SKILL.md) — Global flags and auth
60
+ - [gws-gmail](../gws-gmail/SKILL.md) — All send, read, and manage email commands