@genspark/cli 1.0.10 → 1.0.12

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 (46) hide show
  1. package/dist/acp-serve.d.ts +9 -0
  2. package/dist/acp-serve.d.ts.map +1 -1
  3. package/dist/acp-serve.js +43 -8
  4. package/dist/acp-serve.js.map +1 -1
  5. package/dist/client.d.ts +7 -10
  6. package/dist/client.d.ts.map +1 -1
  7. package/dist/client.js +27 -22
  8. package/dist/client.js.map +1 -1
  9. package/dist/index.js +34 -0
  10. package/dist/index.js.map +1 -1
  11. package/docs/skills.md +22 -11
  12. package/package.json +1 -1
  13. package/skills/gsk-acp-agents/SKILL.md +55 -0
  14. package/skills/gsk-audio-generation/SKILL.md +1 -1
  15. package/skills/gsk-audio-processing/SKILL.md +47 -0
  16. package/skills/gsk-batch-crawl-url-and-answer/SKILL.md +37 -0
  17. package/skills/gsk-claw-share-link/SKILL.md +39 -0
  18. package/skills/gsk-crawler/SKILL.md +1 -0
  19. package/skills/gsk-github/SKILL.md +52 -0
  20. package/skills/gsk-gmail/SKILL.md +70 -0
  21. package/skills/gsk-google-calendar/SKILL.md +50 -0
  22. package/skills/gsk-google-contacts/SKILL.md +51 -0
  23. package/skills/gsk-google-docs/SKILL.md +40 -0
  24. package/skills/gsk-google-drive/SKILL.md +47 -0
  25. package/skills/gsk-google-sheets/SKILL.md +45 -0
  26. package/skills/gsk-meeting/SKILL.md +43 -0
  27. package/skills/gsk-microsoft-teams/SKILL.md +53 -0
  28. package/skills/gsk-notion/SKILL.md +39 -0
  29. package/skills/gsk-onedrive/SKILL.md +44 -0
  30. package/skills/gsk-outlook-calendar/SKILL.md +53 -0
  31. package/skills/gsk-outlook-contacts/SKILL.md +36 -0
  32. package/skills/gsk-outlook-email/SKILL.md +82 -0
  33. package/skills/gsk-shared/SKILL.md +1 -1
  34. package/skills/gsk-sharepoint/SKILL.md +51 -0
  35. package/skills/gsk-slack/SKILL.md +46 -0
  36. package/skills/gsk-video-generation/SKILL.md +4 -3
  37. package/skills/gsk-voice-cloning/SKILL.md +42 -0
  38. package/skills/gsk-calendar-create/SKILL.md +0 -42
  39. package/skills/gsk-calendar-list/SKILL.md +0 -36
  40. package/skills/gsk-email-list/SKILL.md +0 -38
  41. package/skills/gsk-email-read/SKILL.md +0 -34
  42. package/skills/gsk-email-search/SKILL.md +0 -39
  43. package/skills/gsk-email-send/SKILL.md +0 -41
  44. package/skills/gsk-meeting-get/SKILL.md +0 -34
  45. package/skills/gsk-meeting-list/SKILL.md +0 -34
  46. package/skills/gsk-meeting-search/SKILL.md +0 -39
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: gsk-gmail
3
+ version: 1.0.0
4
+ description: 'Gmail operations. Actions: search, read, send, reply, forward, delete,
5
+ archive, move, mark_as_read, add_label, remove_label, create_label, get_attachment,
6
+ list_send_as.'
7
+ metadata:
8
+ category: general
9
+ requires:
10
+ bins:
11
+ - gsk
12
+ cliHelp: gsk gmail --help
13
+ ---
14
+
15
+ # gsk-gmail
16
+
17
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
18
+
19
+ Gmail operations. Actions: search, read, send, reply, forward, delete, archive, move, mark_as_read, add_label, remove_label, create_label, get_attachment, list_send_as.
20
+
21
+ ## Usage
22
+
23
+ ```bash
24
+ gsk gmail [options]
25
+ ```
26
+
27
+ ## Flags
28
+
29
+ | Flag | Required | Description |
30
+ |------|----------|-------------|
31
+ | `<action>` (positional) | Yes | Action to perform. 'search': Search emails by query; 'read': Read a specific email by ID; 'send': Compose and send an email; 'reply': Reply to an existing email; 'forward': Forward an email to new recipients; 'delete': Delete an email; 'archive': Archive an email; 'move': Move an email to a different label/folder; 'mark_as_read': Mark an email as read or unread; 'add_label': Add a label to an email; 'remove_label': Remove a label from an email; 'create_label': Create a new Gmail label; 'get_attachment': Download an email attachment; 'list_send_as': List available send-as aliases (string, one of: search, read, send, reply, forward, delete, archive, move, mark_as_read, add_label, remove_label, create_label, get_attachment, list_send_as) |
32
+ | `--query` | No | [search] Query to filter emails using Gmail search syntax. Examples:\n- Simple: 'meeting'\n- From Sender: 'from:boss@example.com'\n- Subject: 'subject:report'\n- In Folder: 'in:spam', 'in:inbox', 'in:trash', 'in:sent'\n- Label: 'label:important'\n- Unread: 'is:unread'\n- Unread in Spam: 'in:spam is:unread'\n- Has Attachment: 'has:attachment'\n- Date Range: 'after:2024/01/01 before:2024/01/31'\n- Newer Than: 'newer_than:7d' (7 days)\n- Older Than: 'older_than:1m' (1 month)\nNote: Some queries like 'is:recent' are invalid. (string) |
33
+ | `--after_date` | No | [search] Filter emails received after this date (inclusive). Format: YYYY/MM/DD (e.g., '2024/01/01'). This is equivalent to adding 'after:YYYY/MM/DD' to the query. (string) |
34
+ | `--before_date` | No | [search] Filter emails received before this date (exclusive). Format: YYYY/MM/DD (e.g., '2024/01/31'). This is equivalent to adding 'before:YYYY/MM/DD' to the query. (string) |
35
+ | `--next_page_token` | No | [search] Next page token to retrieve more emails (optional). (string) |
36
+ | `--auto_paginate` | No | [search] If true, automatically fetches multiple pages until reaching max_total_results (default: 500). Returns ALL emails matching the query. (boolean) |
37
+ | `--max_total_results` | No | [search] Maximum total results to fetch when auto_paginate is true. Default: 500, Maximum: 500. (integer) |
38
+ | `--from_account` | No | [search] Optional: Email address of the Gmail account to use. Use this when the user has multiple Gmail accounts connected. If not specified, uses the default Gmail account. \| [read] Optional: Email address of the Gmail account to use. Use this when the user has multiple Gmail accounts connected. If not specified, uses the default Gmail account. \| [send] Optional: Email address of the Gmail account to use. Use this when the user has multiple Gmail accounts connected. If not specified, uses the default Gmail account. \| [reply] Optional: Email address of the Gmail account to use. Use this when the user has multiple Gmail accounts connected. If not specified, uses the default Gmail account. \| [forward] Optional: Email address of the Gmail account to use. Use this when the user has multiple Gmail accounts connected. If not specified, uses the default Gmail account. \| [delete] Optional: Email address of the Gmail account to use. Use this when the user has multiple Gmail accounts connected. If not specified, uses the default Gmail account. \| [archive] Optional: Email address of the Gmail account to use. Use this when the user has multiple Gmail accounts connected. If not specified, uses the default Gmail account. \| [move] Optional: Email address of the Gmail account to use. Use this when the user has multiple Gmail accounts connected. If not specified, uses the default Gmail account. \| [mark_as_read] Optional: Email address of the Gmail account to use. Use this when the user has multiple Gmail accounts connected. If not specified, uses the default Gmail account. \| [add_label] Optional: Email address of the Gmail account to use. Use this when the user has multiple Gmail accounts connected. If not specified, uses the default Gmail account. \| [remove_label] Optional: Email address of the Gmail account to use. Use this when the user has multiple Gmail accounts connected. If not specified, uses the default Gmail account. \| [create_label] Optional: Email address of the Gmail account to use. Use this when the user has multiple Gmail accounts connected. If not specified, uses the default Gmail account. \| [get_attachment] Optional: Email address of the Gmail account to use. Use this when the user has multiple Gmail accounts connected. If not specified, uses the default Gmail account. \| [list_send_as] Optional: Email address of the Gmail account to use. Use this when the user has multiple Gmail accounts connected. If not specified, uses the default Gmail account. (string) |
39
+ | `--id` | No | [read] The ID of the email to retrieve and read (string) |
40
+ | `--title` | No | [read] The title of the email to retrieve and read (string) |
41
+ | `--question` | No | [read] Question to answer guiding how to process the email content (string) |
42
+ | `--download_attachments` | No | [read] Whether need to download attachments from the email to analysis (boolean) |
43
+ | `--aidrive_path` | No | [read] Path in AIDrive where attachments should be saved. Default is /gmail_attachments/ \| [get_attachment] The path in AIDrive to save the attachment. Default: /gmail_attachments/ (string) |
44
+ | `--to` | No | [send] Email address(es) of the recipient(s). For multiple recipients, separate with commas. \| [forward] Email address(es) of the recipient(s). For multiple recipients, separate with commas. (string) |
45
+ | `--subject` | No | [send] The email subject line (string) |
46
+ | `--body` | No | [send] The email body content. **IMPORTANT**: The format of this field MUST match the content_type parameter: - If content_type='text/plain': Use plain text - If content_type='text/html': Use HTML format with tags like <h1>, <p>, <ul>, <li>, etc. **Note**: Email clients DO NOT support Markdown rendering. If you have Markdown content and want formatted display, you must convert it to HTML and set content_type='text/html'. \| [reply] The reply message body. **IMPORTANT**: The format of this field MUST match the content_type parameter: - If content_type='text/plain': Use plain text - If content_type='text/html': Use HTML format with tags like <h1>, <p>, <ul>, <li>, etc. **Note**: Email clients DO NOT support Markdown rendering. If you have Markdown content and want formatted display, you must convert it to HTML and set content_type='text/html'. \| [forward] Optional: Additional message to include above the forwarded content. This is your personal note to the recipients. (string) |
47
+ | `--cc` | No | [send] Optional: CC email address(es). For multiple recipients, separate with commas. \| [forward] Optional: CC email address(es). For multiple recipients, separate with commas. (string) |
48
+ | `--bcc` | No | [send] Optional: BCC email address(es). For multiple recipients, separate with commas. (string) |
49
+ | `--content_type` | No | [send] Content type of the email body. Default: text/html (recommended) **CRITICAL**: This parameter defines the format of the 'body' field: - 'text/plain': body should be plain text only - 'text/html': body MUST be valid HTML (e.g., '<h1>Title</h1><p>Content</p>') **Common mistake**: Setting content_type='text/html' but providing Markdown text (# Title, **bold**). This will display raw Markdown symbols in the email. Always convert Markdown to HTML before passing to this tool. \| [reply] Content type of the reply body. Default: text/html (recommended) **CRITICAL**: This parameter defines the format of the 'body' field: - 'text/plain': body should be plain text only - 'text/html': body MUST be valid HTML (e.g., '<h1>Title</h1><p>Content</p>') **Common mistake**: Setting content_type='text/html' but providing Markdown text. This will display raw Markdown symbols. Always convert Markdown to HTML first. \| [forward] Content type of the body. Default: text/html (recommended) **CRITICAL**: This parameter defines the format of the 'body' field: - 'text/plain': body should be plain text only - 'text/html': body MUST be valid HTML (e.g., '<h1>Title</h1><p>Content</p>') **Common mistake**: Setting content_type='text/html' but providing Markdown text. This will display raw Markdown symbols. Always convert Markdown to HTML first. (string, one of: text/plain, text/html) |
50
+ | `--from_address` | No | [send] Send-as email address to use as the sender. Use this to send as a group/alias address (e.g., 'feedback@company.com'). Must be configured in Gmail's 'Send mail as' settings. \| [reply] Send-as email address to use as the sender. Use this to reply as a group/alias address (e.g., 'feedback@company.com'). Must be configured in Gmail's 'Send mail as' settings. \| [forward] Send-as email address to use as the sender. Use this to forward as a group/alias address. Must be configured in Gmail's 'Send mail as' settings. (string) |
51
+ | `--skip_confirmation` | No | [send] If true, skip user confirmation and send immediately. Default is false (require confirmation before sending). \| [reply] If true, skip user confirmation and send immediately. Default is false (require confirmation before sending). \| [forward] If true, skip user confirmation and send immediately. Default is false (require confirmation before sending). \| [delete] If true, skip user confirmation and delete immediately. Default is false (require confirmation before deleting). \| [move] If true, skip user confirmation and move immediately. Default is false (require confirmation before moving). (boolean, default: `False`) |
52
+ | `--auto_skip_confirmation` | No | [send] Set to true ONLY if the workflow step has [AUTO_SKIP_CONFIRMATION] marker. This indicates the node is configured to always skip confirmation. \| [reply] Set to true ONLY if the workflow step has [AUTO_SKIP_CONFIRMATION] marker. This indicates the node is configured to always skip confirmation. \| [forward] Set to true ONLY if the workflow step has [AUTO_SKIP_CONFIRMATION] marker. This indicates the node is configured to always skip confirmation. \| [delete] Set to true ONLY if the workflow step has [AUTO_SKIP_CONFIRMATION] marker. This indicates the node is configured to always skip confirmation. \| [move] Set to true ONLY if the workflow step has [AUTO_SKIP_CONFIRMATION] marker. This indicates the node is configured to always skip confirmation. (boolean, default: `False`) |
53
+ | `--message_id` | No | [reply] The Gmail message ID to reply to \| [forward] The Gmail message ID to forward \| [delete] The Gmail message ID to delete \| [archive] The Gmail message ID to archive \| [move] The Gmail message ID to move \| [mark_as_read] (Deprecated, use message_ids) A single Gmail message ID to mark \| [add_label] The Gmail message ID to add label to \| [remove_label] The Gmail message ID to remove label from \| [get_attachment] The Gmail message ID containing the attachment (string) |
54
+ | `--reply_all` | No | [reply] Whether to reply to all recipients (TO and CC). Default: true (reply to all recipients including CC) (boolean) |
55
+ | `--include_attachments` | No | [forward] Whether to include original email attachments in the forward. Default: true (boolean, default: `True`) |
56
+ | `--label_name` | No | [move] The target label name. Use '/' for nested labels (e.g., 'Work/Projects'). The label will be created if it doesn't exist. \| [add_label] The label name to add. Can be a new label or an existing one. \| [remove_label] The label name to remove \| [create_label] The name of the label to create. Use '/' for nested labels (e.g., 'Parent/Child'). (string) |
57
+ | `--remove_from_inbox` | No | [move] Whether to remove the email from INBOX. Default: true (standard 'move' behavior). Set to false to just add the label without removing from inbox. (boolean) |
58
+ | `--create_if_not_exists` | No | [move] Whether to create the label if it doesn't exist. Default: true (boolean) |
59
+ | `--message_ids` | No | [mark_as_read] The Gmail message ID(s) to mark. Can be a single ID string or an array of IDs. |
60
+ | `--is_read` | No | [mark_as_read] Set to true to mark as read, false to mark as unread. Default: true (boolean) |
61
+ | `--label_list_visibility` | No | [create_label] The visibility of the label in the label list. Default: labelShow (string, one of: labelShow, labelShowIfUnread, labelHide) |
62
+ | `--message_list_visibility` | No | [create_label] The visibility of messages with this label. Default: show (string, one of: show, hide) |
63
+ | `--background_color` | No | [create_label] The background color of the label in hex format (e.g., '#16a765'). Optional. (string) |
64
+ | `--text_color` | No | [create_label] The text color of the label in hex format (e.g., '#ffffff'). Optional. (string) |
65
+ | `--filename` | No | [get_attachment] The filename of the attachment to retrieve. Use '*' to get all attachments. (string) |
66
+ | `--save_to_aidrive` | No | [get_attachment] Whether to save the attachment to AIDrive. Default: true (boolean) |
67
+
68
+ ## See Also
69
+
70
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: gsk-google-calendar
3
+ version: 1.0.0
4
+ description: 'Google Calendar operations. Actions: list, create, delete.'
5
+ metadata:
6
+ category: general
7
+ requires:
8
+ bins:
9
+ - gsk
10
+ cliHelp: gsk google_calendar --help
11
+ ---
12
+
13
+ # gsk-google-calendar
14
+
15
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
16
+
17
+ Google Calendar operations. Actions: list, create, delete.
18
+
19
+ ## Usage
20
+
21
+ ```bash
22
+ gsk google_calendar [options]
23
+ ```
24
+
25
+ ## Flags
26
+
27
+ | Flag | Required | Description |
28
+ |------|----------|-------------|
29
+ | `<action>` (positional) | Yes | Action to perform. 'list': List upcoming calendar events; 'create': Create a new calendar event; 'delete': Delete a calendar event (string, one of: list, create, delete) |
30
+ | `--filter_query` | No | [list] Text to filter calendar events, empty for listing all events (string) |
31
+ | `--time_min` | No | [list] Optional. Start time of the search range (RFC3339 timestamp) (string) |
32
+ | `--time_max` | No | [list] Optional. End time of the search range (RFC3339 timestamp) (string) |
33
+ | `--from_account` | No | [list] Optional: Email address of the Gmail account to use. Use this when the user has multiple Gmail accounts connected. If not specified, uses the default Gmail account. \| [delete] Optional: Email address of the Gmail account to use. Use this when the user has multiple Gmail accounts connected. If not specified, uses the default Gmail account. (string) |
34
+ | `--summary` | No | [create] The title of the event (string) |
35
+ | `--location` | No | [create] The location of the event (string) |
36
+ | `--description` | No | [create] Description or details of the event. Supports restricted HTML formatting (safe subset rendered via Vue v-html): <a>, <b>, <strong>, <i>, <em>, <u>, <br>, <p>, <ul>, <ol>, <li>, <span>, <img>. Use for links, bold, italics, lists, line breaks, images. (string) |
37
+ | `--time_zone` | No | [create] Time zone for the event (e.g., 'GMT-07:00') (string) |
38
+ | `--time_zone_name` | No | [create] Time zone name for the event (e.g., 'America/Los_Angeles') (string) |
39
+ | `--start_time` | No | [create] Start time of the event in ISO 8601 format, must include correct timezone offset (e.g., 'yyyy-mm-ddThh:mm:ss+hh:mm') (string) |
40
+ | `--end_time` | No | [create] End time of the event in ISO 8601 format, must include correct timezone offset (e.g., 'yyyy-mm-ddThh:mm:ss-hh:mm') (string) |
41
+ | `--attendees` | No | [create] List of email addresses of attendees (array) |
42
+ | `--calendar_id` | No | [create] The calendar identifier. Use 'primary' for the user's primary calendar or provide a specific calendar email address (string) |
43
+ | `--event_id` | No | [create] The event identifier. If the request is to modify an existing event, provide the event_id of the event to be modified. If the request is to create a new event, leave this field empty. \| [delete] The Google Calendar event ID to delete (string) |
44
+ | `--recurrence` | No | [create] Recurrence rules (e.g., ['RRULE:FREQ=DAILY;COUNT=2']) (array) |
45
+ | `--send_notifications` | No | [create] Whether to send email notifications to attendees (boolean) |
46
+ | `--delete_series` | No | [delete] If true and the event is recurring, delete the entire series. If false, only delete the single instance. Default is false. (boolean, default: `False`) |
47
+
48
+ ## See Also
49
+
50
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: gsk-google-contacts
3
+ version: 1.0.0
4
+ description: 'Google Contacts operations. Actions: search, get, create, update.'
5
+ metadata:
6
+ category: general
7
+ requires:
8
+ bins:
9
+ - gsk
10
+ cliHelp: gsk contacts --help
11
+ ---
12
+
13
+ # gsk-google-contacts
14
+
15
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
16
+
17
+ Google Contacts operations. Actions: search, get, create, update.
18
+
19
+ ## Usage
20
+
21
+ ```bash
22
+ gsk contacts [options]
23
+ ```
24
+
25
+ **Aliases:** `contacts`
26
+
27
+ ## Flags
28
+
29
+ | Flag | Required | Description |
30
+ |------|----------|-------------|
31
+ | `<action>` (positional) | Yes | Action to perform. 'search': Search contacts by name, email, or phone; 'get': Get details of a specific contact; 'create': Create a new contact; 'update': Update an existing contact (string, one of: search, get, create, update) |
32
+ | `--query` | No | [search] Search query to find contacts. Searches across names, email addresses, phone numbers, and notes. (string) |
33
+ | `--limit` | No | [search] Maximum number of results to return (1-100). Default: 20 (integer) |
34
+ | `--account_id` | No | [search] Optional. The Gmail account ID to search (e.g., 'gmail-user@example.com'). If not provided, uses the default Gmail account. \| [get] Optional. The Gmail account ID (e.g., 'gmail-user@example.com'). If not provided, uses the default Gmail account. \| [create] Optional. The Gmail account ID (e.g., 'gmail-user@example.com'). If not provided, uses the default Gmail account. \| [update] Optional. The Gmail account ID (e.g., 'gmail-user@example.com'). If not provided, uses the default Gmail account. (string) |
35
+ | `--resource_name` | No | [get] The resource name of the contact to retrieve (e.g., 'people/c123456789'). This is returned from search results. \| [update] The resource name of the contact to update (e.g., 'people/c123456789'). Required. (string) |
36
+ | `--given_name` | No | [create] First name of the contact. \| [update] First name of the contact. (string) |
37
+ | `--family_name` | No | [create] Last name of the contact. \| [update] Last name of the contact. (string) |
38
+ | `--middle_name` | No | [create] Middle name of the contact. \| [update] Middle name of the contact. (string) |
39
+ | `--emails` | No | [create] List of email addresses. Each with 'value' and optional 'type' (home/work/other). \| [update] List of email addresses. Replaces all existing emails. (array) |
40
+ | `--phones` | No | [create] List of phone numbers. Each with 'value' and optional 'type' (home/work/mobile/other). \| [update] List of phone numbers. Replaces all existing phones. (array) |
41
+ | `--organization` | No | [create] Company or organization name. \| [update] Company or organization name. (string) |
42
+ | `--job_title` | No | [create] Job title at the organization. \| [update] Job title at the organization. (string) |
43
+ | `--department` | No | [create] Department at the organization. \| [update] Department at the organization. (string) |
44
+ | `--addresses` | No | [create] List of addresses with street, city, region, postal_code, country. \| [update] List of addresses. Replaces all existing addresses. (array) |
45
+ | `--birthday` | No | [create] Birthday with year (optional), month, and day. \| [update] Birthday with year (optional), month, and day. (object) |
46
+ | `--notes` | No | [create] Notes or biography for the contact. \| [update] Notes or biography for the contact. (string) |
47
+ | `--urls` | No | [create] List of URLs (websites, social profiles, etc.). \| [update] List of URLs. Replaces all existing URLs. (array) |
48
+
49
+ ## See Also
50
+
51
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: gsk-google-docs
3
+ version: 1.0.0
4
+ description: 'Google Docs document operations. Actions: create, read, append, search.'
5
+ metadata:
6
+ category: general
7
+ requires:
8
+ bins:
9
+ - gsk
10
+ cliHelp: gsk docs --help
11
+ ---
12
+
13
+ # gsk-google-docs
14
+
15
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
16
+
17
+ Google Docs document operations. Actions: create, read, append, search.
18
+
19
+ ## Usage
20
+
21
+ ```bash
22
+ gsk docs [options]
23
+ ```
24
+
25
+ **Aliases:** `docs`
26
+
27
+ ## Flags
28
+
29
+ | Flag | Required | Description |
30
+ |------|----------|-------------|
31
+ | `<action>` (positional) | Yes | Action to perform. 'create': Create a new document; 'read': Read content from a document; 'append': Append content to a document; 'search': Search documents by name (string, one of: create, read, append, search) |
32
+ | `--title` | No | [create] Title of the new document. (string) |
33
+ | `--content` | No | [create] Optional initial text content for the document. \| [append] The text content to append to the document. (string) |
34
+ | `--document_id` | No | [read] The ID of the document to read. \| [append] The ID of the document to append to. (string) |
35
+ | `--query` | No | [search] Search query to find documents by name or content. (string) |
36
+ | `--limit` | No | [search] Maximum number of results to return (1-50). Default: 10 (integer) |
37
+
38
+ ## See Also
39
+
40
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: gsk-google-drive
3
+ version: 1.0.0
4
+ description: 'Google Drive file operations. Actions: search, read, upload.'
5
+ metadata:
6
+ category: general
7
+ requires:
8
+ bins:
9
+ - gsk
10
+ cliHelp: gsk gdrive --help
11
+ ---
12
+
13
+ # gsk-google-drive
14
+
15
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
16
+
17
+ Google Drive file operations. Actions: search, read, upload.
18
+
19
+ ## Usage
20
+
21
+ ```bash
22
+ gsk gdrive [options]
23
+ ```
24
+
25
+ **Aliases:** `gdrive`
26
+
27
+ ## Flags
28
+
29
+ | Flag | Required | Description |
30
+ |------|----------|-------------|
31
+ | `<action>` (positional) | Yes | Action to perform. 'search': Search files by name, type, or owner; 'read': Read and extract content from a file; 'upload': Upload a file to Google Drive (string, one of: search, read, upload) |
32
+ | `--query` | No | [search] Use keywords simply, terms will be combined into advanced search query in the later process.For example, if user ask for 'tax related documents', just use 'tax' as the query,DO NOT use advanced search query like 'name contains 'tax'' or 'fullText contains 'tax''. (string) |
33
+ | `--mime_type` | No | [search] Filter by MIME type for 'search' (e.g., 'application/pdf'). \| [upload] The MIME type of the file (optional, will be auto-detected from file_name extension). Examples: 'text/plain', 'text/csv', 'application/json', 'image/png'. (string) |
34
+ | `--owner` | No | [search] Filter by file owner (email address) for 'search' action (string) |
35
+ | `--folder_id` | No | [search] Search within a specific folder for 'search' action \| [upload] Google Drive folder ID to upload to. Optional, uploads to root if not specified. (string) |
36
+ | `--trashed` | No | [search] Include trashed files in search results for 'search' action (boolean) |
37
+ | `--file_id` | No | [read] The ID of the file to read from Google Drive. (string) |
38
+ | `--question` | No | [read] The question to answer about the file content. (string) |
39
+ | `--content` | No | [upload] Text content to create as a file. Use this for creating text-based files (e.g., .txt, .md, .csv, .json, .html). Either 'content' or 'file_path' is required. (string) |
40
+ | `--file_path` | No | [upload] Local file path to upload. Either 'content' or 'file_path' is required. (string) |
41
+ | `--file_name` | No | [upload] File name in Google Drive (include extension, e.g., 'report.txt'). MIME type will be auto-detected from extension if not specified. (string) |
42
+ | `--convert_to_google_format` | No | [upload] Whether to convert to Google Workspace format (e.g., .docx → Google Docs, .xlsx → Google Sheets, .pptx → Google Slides). Default: false (boolean, default: `False`) |
43
+ | `--share_publicly` | No | [upload] Whether to share the file publicly for viewing. Default: false (boolean, default: `False`) |
44
+
45
+ ## See Also
46
+
47
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: gsk-google-sheets
3
+ version: 1.0.0
4
+ description: 'Google Sheets spreadsheet operations. Actions: create, read, write,
5
+ append, search, export.'
6
+ metadata:
7
+ category: general
8
+ requires:
9
+ bins:
10
+ - gsk
11
+ cliHelp: gsk sheets --help
12
+ ---
13
+
14
+ # gsk-google-sheets
15
+
16
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
17
+
18
+ Google Sheets spreadsheet operations. Actions: create, read, write, append, search, export.
19
+
20
+ ## Usage
21
+
22
+ ```bash
23
+ gsk sheets [options]
24
+ ```
25
+
26
+ **Aliases:** `sheets`
27
+
28
+ ## Flags
29
+
30
+ | Flag | Required | Description |
31
+ |------|----------|-------------|
32
+ | `<action>` (positional) | Yes | Action to perform. 'create': Create a new spreadsheet; 'read': Read data from a spreadsheet; 'write': Write data to a specific range; 'append': Append rows to a spreadsheet; 'search': Search spreadsheets by name; 'export': Export a spreadsheet to CSV or other format (string, one of: create, read, write, append, search, export) |
33
+ | `--title` | No | [create] Title of the new spreadsheet. (string) |
34
+ | `--sheet_names` | No | [create] Names of sheets to create. Default: ['Sheet1'] (array) |
35
+ | `--initial_data` | No | [create] Optional initial data for the first sheet. 2D array where each inner array is a row. (array) |
36
+ | `--spreadsheet_id` | No | [read] The ID of the spreadsheet to read from. \| [write] The ID of the spreadsheet to write to. \| [append] The ID of the spreadsheet to append to. \| [export] The ID of the Google Sheets spreadsheet to export. (string) |
37
+ | `--range` | No | [read] The A1 notation range to read (e.g., 'Sheet1!A1:D10', 'A1:B5'). Default: reads first sheet entirely. \| [write] The A1 notation range to write to (e.g., 'Sheet1!A1:D10'). The range should match the size of the data. \| [append] The A1 notation of a range to search for data table. New rows will be appended after the last row in this table. Example: 'Sheet1!A:D' or 'Sheet1' (string) |
38
+ | `--values` | No | [write] 2D array of values to write. Each inner array is a row. Example: [['Name', 'Age'], ['Alice', '30'], ['Bob', '25']] \| [append] 2D array of values to append. Each inner array is a row. Example: [['Alice', '30'], ['Bob', '25']] (array) |
39
+ | `--query` | No | [search] Search query to find spreadsheets by name or content. (string) |
40
+ | `--limit` | No | [search] Maximum number of results to return (1-50). Default: 10 (integer) |
41
+ | `--filename` | No | [export] Optional custom filename for the exported file (without extension). If not provided, the original spreadsheet name will be used. (string) |
42
+
43
+ ## See Also
44
+
45
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: gsk-meeting
3
+ version: 1.0.0
4
+ description: 'Meeting notes operations. Actions: list, search, get.'
5
+ metadata:
6
+ category: general
7
+ requires:
8
+ bins:
9
+ - gsk
10
+ cliHelp: gsk meeting --help
11
+ ---
12
+
13
+ # gsk-meeting
14
+
15
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
16
+
17
+ Meeting notes operations. Actions: list, search, get.
18
+
19
+ ## Usage
20
+
21
+ ```bash
22
+ gsk meeting [options]
23
+ ```
24
+
25
+ ## Flags
26
+
27
+ | Flag | Required | Description |
28
+ |------|----------|-------------|
29
+ | `<action>` (positional) | Yes | Action to perform. 'list': List meeting notes by creation date; 'search': Search meeting notes by keyword; 'get': Get details of a specific meeting note (string, one of: list, search, get) |
30
+ | `--page_size` | No | [list] Number of results per page. Default: 20. Max: 50. \| [search] Number of results per page. Default: 20. Max: 50. (integer) |
31
+ | `--continuation_token` | No | [list] Token for fetching the next page of results. Returned from a previous list call. (string) |
32
+ | `--keyword` | No | [search] Search term to find in meeting notes. (string) |
33
+ | `--date_from` | No | [search] Filter meetings after this date (ISO format: YYYY-MM-DD). (string) |
34
+ | `--date_to` | No | [search] Filter meetings before this date (ISO format: YYYY-MM-DD). (string) |
35
+ | `--meeting_source` | No | [search] Filter by calendar source. (string, one of: google, outlook) |
36
+ | `--sort_by` | No | [search] Sort order. 'relevance' for best match first, 'created_at' for newest first (default). (string, one of: created_at, relevance) |
37
+ | `--page` | No | [search] Page number (0-indexed). Use with has_more to paginate results. Default: 0. (integer) |
38
+ | `--task_id` | No | [get] The ID of the meeting note to retrieve. (string) |
39
+ | `--detail_level` | No | [get] Level of detail to return. 'summary' = title + status + summary + user notes (default, saves tokens). 'full' = summary + complete transcription text. 'segments' = summary + segments with speaker labels. (string, one of: summary, full, segments) |
40
+
41
+ ## See Also
42
+
43
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: gsk-microsoft-teams
3
+ version: 1.0.0
4
+ description: 'Microsoft Teams operations. Actions: send, list_channels, list_chats,
5
+ list_teams, search, search_users, create_chat.'
6
+ metadata:
7
+ category: general
8
+ requires:
9
+ bins:
10
+ - gsk
11
+ cliHelp: gsk teams --help
12
+ ---
13
+
14
+ # gsk-microsoft-teams
15
+
16
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
17
+
18
+ Microsoft Teams operations. Actions: send, list_channels, list_chats, list_teams, search, search_users, create_chat.
19
+
20
+ ## Usage
21
+
22
+ ```bash
23
+ gsk teams [options]
24
+ ```
25
+
26
+ **Aliases:** `teams`
27
+
28
+ ## Flags
29
+
30
+ | Flag | Required | Description |
31
+ |------|----------|-------------|
32
+ | `<action>` (positional) | Yes | Action to perform. 'send': Send a message in Teams; 'list_channels': List channels in a team; 'list_chats': List recent chats; 'list_teams': List teams the user belongs to; 'search': Search messages; 'search_users': Search for users; 'create_chat': Create a new chat (string, one of: send, list_channels, list_chats, list_teams, search, search_users, create_chat) |
33
+ | `--content` | No | [send] The message content to send. Supports HTML formatting including clickable links. Use <a href='URL'>text</a> for links, <b>text</b> for bold, <i>text</i> for italic, <br> for line breaks, and other standard HTML tags. (string) |
34
+ | `--chat_id` | No | [send] Optional chat ID to send the message to. If not specified or set to 'self', sends to yourself as a DM. Use chat IDs from microsoft_teams_search_messages results. (string) |
35
+ | `--channel_type` | No | [send] Type of channel: 'teams_chat' for 1:1 or group chats, 'teams_channel' for team channels. Default: 'teams_chat' (string, one of: teams_chat, teams_channel) |
36
+ | `--team_id` | No | [send] Required if channel_type is 'teams_channel'. The team ID where the channel belongs. \| [list_channels] The ID of the team to list channels for. (string) |
37
+ | `--channel_id` | No | [send] Required if channel_type is 'teams_channel'. The channel ID within the team. (string) |
38
+ | `--importance` | No | [send] Message importance level that controls notification behavior. 'normal': Regular message, no special notification (default). 'high': Triggers notification without special emphasis. 'urgent': Triggers immediate notification with sound and alert. Default: 'normal' (string, one of: normal, high, urgent) |
39
+ | `--notify` | No | [send] Whether to force notification by @mentioning yourself in the message. When true, adds a self-mention to ensure notification is triggered. Useful when sending reminders to yourself. Default: true (boolean) |
40
+ | `--mention_user_ids` | No | [send] List of user IDs (GUIDs) to @mention in the message. Use search_users to find user IDs first. The message content should include {mention_N} placeholders where N is the index (0-based), e.g., '{mention_0} thank you' will @mention the first user in the list. (array) |
41
+ | `--mention_user_names` | No | [send] Display names for mentioned users, in same order as mention_user_ids. If not provided, will use user IDs as display names. (array) |
42
+ | `--topic` | No | [list_chats] Search for chats by topic/name (case-insensitive partial match). Use this to find a specific group chat by its name. Example: 'WorkflowTest' to find a chat with that topic. \| [create_chat] Topic/name for the group chat. Required for group chats (2+ members), ignored for 1:1 chats. (string) |
43
+ | `--chat_type` | No | [list_chats] Filter by chat type. 'oneOnOne' for 1:1 chats, 'group' for group chats, 'meeting' for meeting chats, 'all' for all types. Default: 'all' (string, one of: oneOnOne, group, meeting, all) |
44
+ | `--count` | No | [list_chats] Maximum number of chats to return. Default: 50 \| [list_teams] Maximum number of teams to return. Default: 50 \| [search] The maximum number of messages to return. Default is 100. \| [search_users] Maximum number of users to return. Default: 10 (integer) |
45
+ | `--query` | No | [search] The search query using KQL (Keyword Query Language). **Query Behavior**: • Spaces = AND: 'project meeting' finds messages with BOTH terms • OR operator: 'project OR meeting' finds messages with EITHER term • KQL modifiers: 'from:john', 'hasAttachment:true', 'sent>2024-01-01', 'IsRead:false' • Examples: 'urgent project', 'bug OR issue', 'from:alice budget', 'hasAttachment:true report' \| [search_users] Search query - can be a name, email, or partial match. Example: 'John', 'john@company.com', 'Smith' (string) |
46
+ | `--unread_only` | No | [search] Set to true to search for unread messages only. Default is false. (boolean) |
47
+ | `--question` | No | [search] A specific question to answer based on the search results. (string) |
48
+ | `--include_chat_id` | No | [search_users] If true, also return the chat_id for existing 1:1 chats with each user. This allows direct messaging without create_chat. Default: true (boolean) |
49
+ | `--member_emails` | No | [create_chat] List of email addresses of users to add to the chat. One email for 1:1 chat, multiple for group chat. (array) |
50
+
51
+ ## See Also
52
+
53
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: gsk-notion
3
+ version: 1.0.0
4
+ description: 'Notion page operations. Actions: search, read, create.'
5
+ metadata:
6
+ category: general
7
+ requires:
8
+ bins:
9
+ - gsk
10
+ cliHelp: gsk notion --help
11
+ ---
12
+
13
+ # gsk-notion
14
+
15
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
16
+
17
+ Notion page operations. Actions: search, read, create.
18
+
19
+ ## Usage
20
+
21
+ ```bash
22
+ gsk notion [options]
23
+ ```
24
+
25
+ ## Flags
26
+
27
+ | Flag | Required | Description |
28
+ |------|----------|-------------|
29
+ | `<action>` (positional) | Yes | Action to perform. 'search': Search pages and databases; 'read': Read content from a page; 'create': Create a new page (string, one of: search, read, create) |
30
+ | `--query` | No | [search] Query to search for in Notion pages. (string) |
31
+ | `--page_id` | No | [read] The ID of the Notion page to read and summarize. (string) |
32
+ | `--title` | No | [create] The title of the new page. (string) |
33
+ | `--content` | No | [create] The content of the page in markdown format. Supports headings, lists, code blocks, links, etc. (string) |
34
+ | `--parent_id` | No | [create] The ID of the parent page or database where the new page will be created. Use notion_search to find available pages/databases first. (string) |
35
+ | `--parent_type` | No | [create] The type of parent: 'page_id' for creating under a page, 'database_id' for creating in a database. Default is 'page_id'. (string, one of: page_id, database_id) |
36
+
37
+ ## See Also
38
+
39
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: gsk-onedrive
3
+ version: 1.0.0
4
+ description: 'OneDrive file operations. Actions: list, search, read.'
5
+ metadata:
6
+ category: general
7
+ requires:
8
+ bins:
9
+ - gsk
10
+ cliHelp: gsk onedrive --help
11
+ ---
12
+
13
+ # gsk-onedrive
14
+
15
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
16
+
17
+ OneDrive file operations. Actions: list, search, read.
18
+
19
+ ## Usage
20
+
21
+ ```bash
22
+ gsk onedrive [options]
23
+ ```
24
+
25
+ ## Flags
26
+
27
+ | Flag | Required | Description |
28
+ |------|----------|-------------|
29
+ | `<action>` (positional) | Yes | Action to perform. 'list': List files in a folder; 'search': Search files; 'read': Read and extract content from a file (string, one of: list, search, read) |
30
+ | `--onedrive_url` | No | [list] A OneDrive URL to list files from. Can be a sharing link, folder link, or any OneDrive URL. (string) |
31
+ | `--folder_id` | No | [list] The folder item ID to list contents of. Get folder IDs from previous onedrive_list_files or onedrive_search results. (string) |
32
+ | `--folder_path` | No | [list] The folder path relative to OneDrive root. Example: 'Documents/Projects' to list files in that subfolder. (string) |
33
+ | `--limit` | No | [list] Maximum number of items to return (1-200). Default: 50 (integer) |
34
+ | `--query` | No | [search] The search query string. **Query Behavior**: • Spaces = AND: 'project report' finds files with BOTH terms • OR operator: 'project OR report' finds files with EITHER term • Empty string: '*' lists all files • Wildcards: 'report*' finds files starting with 'report' • Examples: 'budget.xlsx', 'meeting OR conference', '*.pdf', 'project 2024' (string) |
35
+ | `--file_id` | No | [read] The ID of the file OR the OneDrive/SharePoint URL to read from OneDrive or SharePoint. Can be either a file ID (like '01W56PINYRO3...') or a full OneDrive/SharePoint URL (like 'https://domain-my.sharepoint.com/personal/user/Documents/file.pdf' or SharePoint driveItem IDs). For Teams attachments, use the 'file_id' value from Teams search results onedrive_file_params. (string) |
36
+ | `--question` | No | [read] The question to answer about the file content. (string) |
37
+
38
+ ## Local File Support
39
+
40
+ Parameters that accept URLs (`--onedrive_url`) also accept local file paths. The CLI automatically uploads local files before sending to the API.
41
+
42
+ ## See Also
43
+
44
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: gsk-outlook-calendar
3
+ version: 1.0.0
4
+ description: 'Outlook Calendar operations. Actions: list, create, delete.'
5
+ metadata:
6
+ category: general
7
+ requires:
8
+ bins:
9
+ - gsk
10
+ cliHelp: gsk outlook_calendar --help
11
+ ---
12
+
13
+ # gsk-outlook-calendar
14
+
15
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
16
+
17
+ Outlook Calendar operations. Actions: list, create, delete.
18
+
19
+ ## Usage
20
+
21
+ ```bash
22
+ gsk outlook_calendar [options]
23
+ ```
24
+
25
+ ## Flags
26
+
27
+ | Flag | Required | Description |
28
+ |------|----------|-------------|
29
+ | `<action>` (positional) | Yes | Action to perform. 'list': List upcoming calendar events; 'create': Create a new calendar event; 'delete': Delete a calendar event (string, one of: list, create, delete) |
30
+ | `--filter_query` | No | [list] Text to filter calendar events by subject. Empty for listing all events in the time range. (string) |
31
+ | `--time_min` | No | [list] Optional. Start time for the calendar view (ISO 8601 timestamp). Defaults to 30 days ago. (string) |
32
+ | `--time_max` | No | [list] Optional. End time for the calendar view (ISO 8601 timestamp). Defaults to 60 days from now. (string) |
33
+ | `--from_account` | No | [list] Optional: Email address of the Outlook account to use. Use this when the user has multiple Outlook accounts connected. If not specified, uses the default Outlook account. \| [delete] Optional: Email address of the Outlook account to use. Use this when the user has multiple Outlook accounts connected. If not specified, uses the default Outlook account. (string) |
34
+ | `--summary` | No | [create] The title of the event (string) |
35
+ | `--location` | No | [create] The location of the event (string) |
36
+ | `--description` | No | [create] Description or details of the event. Supports restricted HTML formatting (safe subset rendered via Vue v-html): <a>, <b>, <strong>, <i>, <em>, <u>, <br>, <p>, <ul>, <ol>, <li>, <span>, <img>. Use for links, bold, italics, lists, line breaks, images. (string) |
37
+ | `--time_zone` | No | [create] Time zone for the event (e.g., 'GMT-07:00') (string) |
38
+ | `--time_zone_name` | No | [create] Time zone name for the event (e.g., 'America/Los_Angeles') (string) |
39
+ | `--start_time` | No | [create] Start time of the event in ISO 8601 format, must include correct timezone offset (e.g., 'yyyy-mm-ddThh:mm:ss+hh:mm') (string) |
40
+ | `--end_time` | No | [create] End time of the event in ISO 8601 format, must include correct timezone offset (e.g., 'yyyy-mm-ddThh:mm:ss-hh:mm') (string) |
41
+ | `--attendees` | No | [create] List of email addresses of attendees (array) |
42
+ | `--calendar_id` | No | [create] The calendar identifier. Use 'primary' for the user's primary calendar or provide a specific calendar email address (string) |
43
+ | `--event_id` | No | [create] The event identifier. If the request is to modify an existing event, provide the event_id of the event to be modified. If the request is to create a new event, leave this field empty. \| [delete] The Outlook Calendar event ID to delete (string) |
44
+ | `--recurrence` | No | [create] Recurrence pattern for the event (object) |
45
+ | `--send_notifications` | No | [create] Whether to send email notifications to attendees (boolean) |
46
+ | `--importance` | No | [create] Event importance (low, normal, high) (string) |
47
+ | `--sensitivity` | No | [create] Event sensitivity (normal, personal, private, confidential) (string) |
48
+ | `--show_as` | No | [create] Show as status (free, tentative, busy, oof, workingElsewhere, unknown) (string) |
49
+ | `--delete_series` | No | [delete] If true and the event is recurring, delete the entire series. If false, only delete the single instance. Default is false. (boolean, default: `False`) |
50
+
51
+ ## See Also
52
+
53
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: gsk-outlook-contacts
3
+ version: 1.0.0
4
+ description: 'Outlook Contacts operations. Actions: search.'
5
+ metadata:
6
+ category: general
7
+ requires:
8
+ bins:
9
+ - gsk
10
+ cliHelp: gsk outlook_contacts --help
11
+ ---
12
+
13
+ # gsk-outlook-contacts
14
+
15
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
16
+
17
+ Outlook Contacts operations. Actions: search.
18
+
19
+ ## Usage
20
+
21
+ ```bash
22
+ gsk outlook_contacts [options]
23
+ ```
24
+
25
+ ## Flags
26
+
27
+ | Flag | Required | Description |
28
+ |------|----------|-------------|
29
+ | `<action>` (positional) | Yes | Action to perform. 'search': Search Outlook contacts (string, one of: search) |
30
+ | `--query` | No | [search] Search query to find contacts. Searches across names, email addresses, phone numbers, and notes. (string) |
31
+ | `--limit` | No | [search] Maximum number of results to return (1-100). Default: 20 (integer) |
32
+ | `--account_id` | No | [search] Optional. The Outlook account ID to search (e.g., 'outlook-user@example.com'). If not provided, uses the default Outlook account. (string) |
33
+
34
+ ## See Also
35
+
36
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags