@genspark/cli 1.3.0 → 1.4.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAC/C;AAGD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,OAAO,CAAA;IACzB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAA;QACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QACzC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KACpB,CAAA;IACD,GAAG,EAAE;QACH,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC1C,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;QAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAC3B,CAAA;CACF;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,UAAU,EAAE,CAAA;CACpB;AAGD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAGD,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAGD,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACrB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAC/C;AAGD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,OAAO,CAAA;IACzB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAA;QACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QACzC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KACpB,CAAA;IACD,GAAG,EAAE;QACH,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC1C,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;QAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAA;QAI1B,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;KACvB,CAAA;CACF;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,UAAU,EAAE,CAAA;CACpB;AAGD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAGD,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAGD,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACrB"}
package/docs/skills.md CHANGED
@@ -23,10 +23,10 @@
23
23
  | [gsk-github](../skills/gsk-github/SKILL.md) | GitHub operations. Actions: list_repos, search_issues, create_issue, update_issue. |
24
24
  | [gsk-gmail](../skills/gsk-gmail/SKILL.md) | Gmail operations. Actions: search, read, send, draft, reply, forward, delete, archive, move, mark_as_read, add_label, re |
25
25
  | [gsk-google-calendar](../skills/gsk-google-calendar/SKILL.md) | Google Calendar operations. Actions: list, free_busy, create, respond, modify, delete. |
26
- | [gsk-google-chat](../skills/gsk-google-chat/SKILL.md) | Google Chat operations. Actions: list_spaces, read, send. Sent messages carry a visible Genspark app attribution next to |
27
- | [gsk-google-contacts](../skills/gsk-google-contacts/SKILL.md) | Google Contacts operations. Actions: search, get, create, update. |
26
+ | [gsk-google-chat](../skills/gsk-google-chat/SKILL.md) | Google Chat operations. Actions: list_spaces, read, list_members, send, upload, react, update, delete. Sent messages car |
27
+ | [gsk-google-contacts](../skills/gsk-google-contacts/SKILL.md) | Google Contacts operations. Actions: search, get. |
28
28
  | [gsk-google-docs](../skills/gsk-google-docs/SKILL.md) | Google Docs document operations. Actions: create, read, append, batch_update, export, search. |
29
- | [gsk-google-drive](../skills/gsk-google-drive/SKILL.md) | Google Drive file operations. Actions: list, search, read, upload. |
29
+ | [gsk-google-drive](../skills/gsk-google-drive/SKILL.md) | Google Drive file operations. Actions: list, search, read, upload, share. |
30
30
  | [gsk-google-sheets](../skills/gsk-google-sheets/SKILL.md) | Google Sheets spreadsheet operations. Actions: create, read, write, append, search, export. |
31
31
  | [gsk-hub](../skills/gsk-hub/SKILL.md) | Genspark Hub (the user's project spaces at genspark.ai/hub) — NOT HubSpot. Actions: list_hubs, read_hub. When the user s |
32
32
  | [gsk-image-generation](../skills/gsk-image-generation/SKILL.md) | Generate images using AI models. Supports text-to-image and image editing. |
@@ -36,7 +36,7 @@
36
36
  | [gsk-meeting](../skills/gsk-meeting/SKILL.md) | Meeting notes operations. Actions: list, search, get. |
37
37
  | [gsk-microsoft-teams](../skills/gsk-microsoft-teams/SKILL.md) | Microsoft Teams operations. Actions: send, list_channels, list_chats, read_chat, list_channel_messages, list_channel_rep |
38
38
  | [gsk-notion](../skills/gsk-notion/SKILL.md) | Notion page operations. Actions: search, read, create. |
39
- | [gsk-onedrive](../skills/gsk-onedrive/SKILL.md) | OneDrive file operations. Actions: list, search, read, upload. |
39
+ | [gsk-onedrive](../skills/gsk-onedrive/SKILL.md) | OneDrive file operations. Actions: list, search, read, upload, share. |
40
40
  | [gsk-outlook-calendar](../skills/gsk-outlook-calendar/SKILL.md) | Outlook Calendar operations. Actions: list, free_busy, create, respond, modify, delete. |
41
41
  | [gsk-outlook-contacts](../skills/gsk-outlook-contacts/SKILL.md) | Outlook Contacts operations. Actions: search. |
42
42
  | [gsk-outlook-email](../skills/gsk-outlook-email/SKILL.md) | Outlook Email operations. Actions: search, read, list_folders, list_emails, list_email_changes, send, draft, reply, repl |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@genspark/cli",
3
- "version": "1.3.0",
3
+ "version": "1.4.1",
4
4
  "description": "CLI tool for Genspark Tool API - search, crawl, analyze images, generate media",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -3,7 +3,8 @@ name: gsk-create-task
3
3
  version: 1.0.0
4
4
  description: Create and execute tasks using specialized AI agents. Supports super_agent,
5
5
  podcasts, docs, slides, deep_research, website, video_generation, audio_generation,
6
- meeting_notes, cross_check. The returned data.task_url is owner-only until shared
6
+ meeting_notes, cross_check, and custom_super_agent (a user-created custom agent;
7
+ requires agent_config_id). The returned data.task_url is owner-only until shared
7
8
  from that page. To re-fetch a created task's link or outcome, use task_status —
8
9
  re-running create_task creates and bills a new task.
9
10
  metadata:
@@ -18,7 +19,7 @@ metadata:
18
19
 
19
20
  **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
20
21
 
21
- Create and execute tasks using specialized AI agents. Supports super_agent, podcasts, docs, slides, deep_research, website, video_generation, audio_generation, meeting_notes, cross_check. The returned data.task_url is owner-only until shared from that page. To re-fetch a created task's link or outcome, use task_status — re-running create_task creates and bills a new task.
22
+ Create and execute tasks using specialized AI agents. Supports super_agent, podcasts, docs, slides, deep_research, website, video_generation, audio_generation, meeting_notes, cross_check, and custom_super_agent (a user-created custom agent; requires agent_config_id). The returned data.task_url is owner-only until shared from that page. To re-fetch a created task's link or outcome, use task_status — re-running create_task creates and bills a new task.
22
23
 
23
24
  ## Usage
24
25
 
@@ -32,10 +33,11 @@ gsk task [options]
32
33
 
33
34
  | Flag | Required | Description |
34
35
  |------|----------|-------------|
35
- | `<task_type>` (positional) | Yes | The type of task to create: - super_agent: Create general super agent - podcasts: Create audio podcasts with AI characters - docs: Create and edit HTML/Markdown documents. Create a professional document with Word-like formatting as a single-file HTML. Perfect for reports, articles, academic papers, and formal documents. **Guidelines** 1. This tool can be directly called when user explicitly wants to create: - A document or report - An article or academic paper - A formal document with professional formatting - A document for print or PDF export 2. In situations other than those mentioned above, you need to ask the user first and only call this tool after getting permission when user wants to create: - A better formatted text, but hasn't explicitly mentioned creating a document - Content that needs professional document formatting **Limitations** - Document styling resembles Microsoft Word format, not web page design - Usually takes time to generate, so please strictly follow the guidelines above **File inputs** - If the user uploaded a source file (PDF/Word/Markdown/text) for the agent to process or convert, embed the URL (file_wrapper_url, http(s)://, or aidrive://) directly in the query — sub-agents do not inherit parent context. - slides: Create presentation slides. Create an editable slide deck and display it; it exports/downloads as PPTX or PDF. DEFAULT for any presentation, deck, or PowerPoint request — including a downloadable .pptx or redesigning an uploaded .pptx; do NOT rebuild decks in code or raw HTML. EXCEPTION — simple mechanical edits to an uploaded .pptx (insert/delete a slide, change a value, swap an element/image): do them yourself with python-pptx on the original file and deliver the edited file; this agent re-authors the deck and its export is a re-render, so untouched slides won't stay byte-identical. Route substantial rework (redesign, restyle, use as a template, content overhaul) to this agent. The finished deck's page (task_url) has built-in PPTX/PDF export — NEVER create another task to export or convert an existing deck; use task_status to re-fetch a deck's link. Limitation: a) It usually takes minutes. Ask the user whether they want to wait for a longer time before starting if they haven't explicitly indicated they want to generate a set of slides; - website: Create a professional agent for building websites and web pages - deep_research: Create deep research agent for task on a 'deep research' topic (e.g. 'deep research on Tesla', 'analyze Tesla in depth'). Also can handle user's 'continue deep research' request - download: Download a file, video, or audio from the internet into the user's AI Drive and return a long-lived shareable link. Use when the user wants to 'download this', 'save this video/file', or 'get me a link to this'. The agent locates the real downloadable resource (searching/crawling a page if needed), downloads it, and returns the AI Drive path plus a durable share URL. - design: Genspark Design (Designer 2.0): the visual web/HTML design canvas for landing pages, marketing sites, posters, slides-as-pages, and interactive UI mockups. NOTE: this does NOT run as a sub-agent — selecting it hands the user a button that opens Genspark Design in a new tab with the query prefilled (the user submits it there). Use when the user wants to design a web page / site / poster / visual layout they will iterate on in the Design canvas. - video_generation: Large-scale batch video generation with complex inter-task dependencies. Best for workflows requiring coordinated, multi-step video pipelines where tasks depend on each other's outputs. Supports text-to-video, image-to-video (query should contain the image url), and merging multiple video clips. Can reuse agent. NOT recommended for small-scale, simple, or independent video tasks — for those, use <tool>video_generation</tool> directly instead. If there is a resource generation list, you can directly pass the resource list URL in the query, http(s):// or aidrive:// - audio_generation: Large-scale batch TTS (text-to-speech) generation with complex inter-task dependencies. Best for workflows requiring coordinated, multi-step TTS pipelines where tasks depend on each other's outputs. Supports text-to-speech, voiceovers, multi-speaker dialogues, and merging multiple audio clips. Can reuse agent. NOT recommended for small-scale, simple, or independent TTS tasks — for those, use <tool>audio_generation</tool> directly instead. If there is a resource generation list, you can directly pass the resource list URL in the query, http(s):// or aidrive:// - cross_check: Fact-check and verify claims or statements. Use when the user wants to verify whether a statement is true, check facts, or cross-reference claims against multiple sources. The agent systematically searches for evidence, evaluates source credibility, and provides a detailed verification report with supporting references. (string, one of: super_agent, podcasts, docs, slides, website, deep_research, download, design, video_generation, audio_generation, cross_check, meeting_notes, sheets) |
36
+ | `<task_type>` (positional) | Yes | The type of task to create: - super_agent: Create general super agent - podcasts: Create audio podcasts with AI characters - docs: Create and edit HTML/Markdown documents. Create a professional document with Word-like formatting as a single-file HTML. Perfect for reports, articles, academic papers, and formal documents. **Guidelines** 1. This tool can be directly called when user explicitly wants to create: - A document or report - An article or academic paper - A formal document with professional formatting - A document for print or PDF export 2. In situations other than those mentioned above, you need to ask the user first and only call this tool after getting permission when user wants to create: - A better formatted text, but hasn't explicitly mentioned creating a document - Content that needs professional document formatting **Limitations** - Document styling resembles Microsoft Word format, not web page design - Usually takes time to generate, so please strictly follow the guidelines above **File inputs** - If the user uploaded a source file (PDF/Word/Markdown/text) for the agent to process or convert, embed the URL (file_wrapper_url, http(s)://, or aidrive://) directly in the query — sub-agents do not inherit parent context. - slides: Create presentation slides. Create an editable slide deck and display it; it exports/downloads as PPTX or PDF. DEFAULT for any presentation, deck, or PowerPoint request — including a downloadable .pptx or redesigning an uploaded .pptx; do NOT rebuild decks in code or raw HTML. EXCEPTION — simple mechanical edits to an uploaded .pptx (insert/delete a slide, change a value, swap an element/image): do them yourself with python-pptx on the original file and deliver the edited file; this agent re-authors the deck and its export is a re-render, so untouched slides won't stay byte-identical. Route substantial rework (redesign, restyle, use as a template, content overhaul) to this agent. The finished deck's page (task_url) has built-in PPTX/PDF export — NEVER create another task to export or convert an existing deck; use task_status to re-fetch a deck's link. Limitation: a) It usually takes minutes. Ask the user whether they want to wait for a longer time before starting if they haven't explicitly indicated they want to generate a set of slides; - website: Create a professional agent for building websites and web pages - deep_research: Create deep research agent for task on a 'deep research' topic (e.g. 'deep research on Tesla', 'analyze Tesla in depth'). Also can handle user's 'continue deep research' request - download: Download a file, video, or audio from the internet into the user's AI Drive and return a long-lived shareable link. Use when the user wants to 'download this', 'save this video/file', or 'get me a link to this'. The agent locates the real downloadable resource (searching/crawling a page if needed), downloads it, and returns the AI Drive path plus a durable share URL. - design: Genspark Design (Designer 2.0): the visual web/HTML design canvas for landing pages, marketing sites, posters, slides-as-pages, and interactive UI mockups. NOTE: this does NOT run as a sub-agent — selecting it hands the user a button that opens Genspark Design in a new tab with the query prefilled (the user submits it there). Use when the user wants to design a web page / site / poster / visual layout they will iterate on in the Design canvas. - video_generation: Large-scale batch video generation with complex inter-task dependencies. Best for workflows requiring coordinated, multi-step video pipelines where tasks depend on each other's outputs. Supports text-to-video, image-to-video (query should contain the image url), and merging multiple video clips. Can reuse agent. NOT recommended for small-scale, simple, or independent video tasks — for those, use <tool>video_generation</tool> directly instead. If there is a resource generation list, you can directly pass the resource list URL in the query, http(s):// or aidrive:// - audio_generation: Large-scale batch TTS (text-to-speech) generation with complex inter-task dependencies. Best for workflows requiring coordinated, multi-step TTS pipelines where tasks depend on each other's outputs. Supports text-to-speech, voiceovers, multi-speaker dialogues, and merging multiple audio clips. Can reuse agent. NOT recommended for small-scale, simple, or independent TTS tasks — for those, use <tool>audio_generation</tool> directly instead. If there is a resource generation list, you can directly pass the resource list URL in the query, http(s):// or aidrive:// - cross_check: Fact-check and verify claims or statements. Use when the user wants to verify whether a statement is true, check facts, or cross-reference claims against multiple sources. The agent systematically searches for evidence, evaluates source credibility, and provides a detailed verification report with supporting references. - custom_super_agent: Execute a user-created custom AI agent. Requires agent_config_id parameter which should be extracted from the workflow step data. These are personalized agents created by users with specific capabilities and configurations. (string, one of: super_agent, podcasts, docs, slides, website, deep_research, download, design, video_generation, audio_generation, cross_check, meeting_notes, sheets, custom_super_agent) |
36
37
  | `--task_name` | Yes | Name for the task/project (string) |
37
38
  | `--query` | Yes | Query for the task. The ending should clearly state what needs to be done, such as generating a doc/slides etc. The sub-agent sees ONLY what is passed via query/instructions — it cannot read your conversation. When you have already produced material for this task (research notes, analysis, drafts, exact figures), embed its FULL text verbatim in the query, NOT a summary or paraphrase: any detail omitted here is missing from the deliverable, and a query carrying such material is naturally long — do not shorten it. For a simple request with no pre-existing material, a concise query is fine. If the user uploaded files or you have data the sub-agent needs, embed the file URLs (file_wrapper_url, http(s)://, or aidrive://) directly in the query — sub-agents do not inherit parent context, so unreferenced files are invisible to them. (string) |
38
39
  | `--instructions` | Yes | Detailed instructions for the task. This will be set as system prompt to the specialized agent. State the working constraints here: audience, structure, style, output format, and what must be preserved exactly (figures, citations, links). Do not spend this field on a bare persona line like 'You are a professional slides assistant' — that gives the sub-agent nothing to work with. Include any file URLs (file_wrapper_url, http(s)://, or aidrive://) the sub-agent must reference; the sub-agent only sees what is passed via query/instructions. (string) |
40
+ | `--agent_config_id` | No | Agent config ID for loading agent configuration. Required when task_type is 'custom_super_agent' - the ID of the user's custom agent. Optional when task_type is 'dynamic' - if provided, loads config from this ID instead of generating a new one dynamically. (string) |
39
41
 
40
42
  > **CAUTION:** This command performs a write/send operation. Double-check parameters before executing.
41
43
 
@@ -3,7 +3,7 @@ name: gsk-gmail
3
3
  version: 1.0.0
4
4
  description: 'Gmail operations. Actions: search, read, send, draft, reply, forward,
5
5
  delete, archive, move, mark_as_read, add_label, remove_label, create_label, get_attachment,
6
- list_send_as.'
6
+ list_send_as, get_vacation, update_vacation, get_signature, update_signature.'
7
7
  metadata:
8
8
  category: general
9
9
  requires:
@@ -16,7 +16,7 @@ metadata:
16
16
 
17
17
  **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
18
18
 
19
- Gmail operations. Actions: search, read, send, draft, reply, forward, delete, archive, move, mark_as_read, add_label, remove_label, create_label, get_attachment, list_send_as.
19
+ Gmail operations. Actions: search, read, send, draft, reply, forward, delete, archive, move, mark_as_read, add_label, remove_label, create_label, get_attachment, list_send_as, get_vacation, update_vacation, get_signature, update_signature.
20
20
 
21
21
  ## Usage
22
22
 
@@ -28,14 +28,14 @@ gsk gmail [options]
28
28
 
29
29
  | Flag | Required | Description |
30
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; 'draft': Save an email to the Drafts folder without sending; '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, draft, reply, forward, delete, archive, move, mark_as_read, add_label, remove_label, create_label, get_attachment, list_send_as) |
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; 'draft': Save an email to the Drafts folder without sending; '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; 'get_vacation': Get the vacation (out-of-office) auto-reply settings; 'update_vacation': Enable, disable, or update the vacation (out-of-office) auto-reply; 'get_signature': Get the signature of a send-as address; 'update_signature': Set or clear the signature of a send-as address (string, one of: search, read, send, draft, reply, forward, delete, archive, move, mark_as_read, add_label, remove_label, create_label, get_attachment, list_send_as, get_vacation, update_vacation, get_signature, update_signature) |
32
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
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
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
35
  | `--next_page_token` | No | [search] Next page token to retrieve more emails (optional). (string) |
36
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
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. \| [draft] Sender email account to use. \| [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) |
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. \| [draft] Sender email account to use. \| [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. \| [get_vacation] Optional: email address of the Gmail account to use when the user has multiple Gmail accounts connected. Defaults to the primary connected account. \| [update_vacation] Optional: email address of the Gmail account to use when the user has multiple Gmail accounts connected. Defaults to the primary connected account. \| [get_signature] Optional: email address of the Gmail account to use when the user has multiple Gmail accounts connected. Defaults to the primary connected account. \| [update_signature] Optional: email address of the Gmail account to use when the user has multiple Gmail accounts connected. Defaults to the primary connected account. (string) |
39
39
  | `--id` | No | [read] The ID of a single Gmail message to retrieve. Mutually exclusive with 'thread_id'. (string) |
40
40
  | `--thread_id` | No | [read] The Gmail thread (conversation) ID to retrieve. Returns every message in the thread. Mutually exclusive with 'id'. Each Gmail message exposes its parent thread via the 'threadId' field — the same value returned by 'gmail_search'. (string) |
41
41
  | `--max_messages` | No | [read] Optional cap on how many messages to return when reading by 'thread_id'. Returns the most-recent N messages (chronological order preserved within the slice). Use this for long threads to keep the LLM context bounded — e.g. max_messages=5 for the tail of a long newsletter chain. Ignored when reading by single 'id'. (integer) |
@@ -70,6 +70,16 @@ gsk gmail [options]
70
70
  | `--text_color` | No | [create_label] The text color of the label in hex format (e.g., '#ffffff'). Optional. (string) |
71
71
  | `--filename` | No | [get_attachment] The filename of the attachment to retrieve. Use '*' to get all attachments. (string) |
72
72
  | `--save_to_aidrive` | No | [get_attachment] Whether to save the attachment to AIDrive. Default: true (boolean) |
73
+ | `--enable_auto_reply` | No | [update_vacation] Turn the vacation auto-reply on (true) or off (false). (boolean) |
74
+ | `--response_subject` | No | [update_vacation] Subject line of the auto-reply. (string) |
75
+ | `--response_body_plain` | No | [update_vacation] Plain-text auto-reply body. Provide this or response_body_html when enabling. (string) |
76
+ | `--response_body_html` | No | [update_vacation] HTML auto-reply body (takes precedence over the plain-text body in Gmail). (string) |
77
+ | `--restrict_to_contacts` | No | [update_vacation] Only auto-reply to people in the user's contacts. (boolean) |
78
+ | `--restrict_to_domain` | No | [update_vacation] Only auto-reply to people in the user's domain (Workspace accounts). (boolean) |
79
+ | `--start_time` | No | [update_vacation] When the auto-reply starts: ISO 8601 (e.g. '2026-08-01T00:00:00Z') or epoch milliseconds. Pass an empty string to clear the window. (string) |
80
+ | `--end_time` | No | [update_vacation] When the auto-reply ends: ISO 8601 or epoch milliseconds. Pass an empty string to clear the window. (string) |
81
+ | `--send_as_email` | No | [get_signature] Send-as address whose signature to read. Defaults to the primary address. \| [update_signature] Send-as address whose signature to set. Defaults to the primary address. (string) |
82
+ | `--signature` | No | [update_signature] New signature as HTML (plain text works too). An empty string removes the signature. (string) |
73
83
 
74
84
  ## See Also
75
85
 
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: gsk-google-chat
3
3
  version: 1.0.0
4
- description: 'Google Chat operations. Actions: list_spaces, read, send. Sent messages
5
- carry a visible Genspark app attribution next to the sender''s name (added by Google,
6
- cannot be hidden).'
4
+ description: 'Google Chat operations. Actions: list_spaces, read, list_members, send,
5
+ upload, react, update, delete. Sent messages carry a visible Genspark app attribution
6
+ next to the sender''s name (added by Google, cannot be hidden).'
7
7
  metadata:
8
8
  category: general
9
9
  requires:
@@ -16,7 +16,7 @@ metadata:
16
16
 
17
17
  **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
18
18
 
19
- Google Chat operations. Actions: list_spaces, read, send. Sent messages carry a visible Genspark app attribution next to the sender's name (added by Google, cannot be hidden).
19
+ Google Chat operations. Actions: list_spaces, read, list_members, send, upload, react, update, delete. Sent messages carry a visible Genspark app attribution next to the sender's name (added by Google, cannot be hidden).
20
20
 
21
21
  ## Usage
22
22
 
@@ -28,12 +28,18 @@ gsk google_chat [options]
28
28
 
29
29
  | Flag | Required | Description |
30
30
  |------|----------|-------------|
31
- | `<action>` (positional) | Yes | Action to perform. 'list_spaces': List spaces (rooms, group chats, and DMs); 'read': Read recent messages from a space; 'send': Send a message to a space (recipients see a Genspark app label next to the sender's name — Google adds it, it cannot be hidden) (string, one of: list_spaces, read, send) |
31
+ | `<action>` (positional) | Yes | Action to perform. 'list_spaces': List spaces (rooms, group chats, and DMs); 'read': Read recent messages from a space; 'send': Send a message to a space (recipients see a Genspark app label next to the sender's name — Google adds it, it cannot be hidden); 'upload': Upload a file (local path, file-wrapper URL, AI Drive path, or text content) to a space as a message attachment; 'update': Edit the text of one of your own messages; 'delete': Delete one of your own messages; 'react': Add or remove an emoji reaction on a message (unicode emoji; remove affects your own reaction only); 'list_members': List all members of a space (full roster) (string, one of: list_spaces, read, send, upload, update, delete, react, list_members) |
32
32
  | `--search_query` | No | [list_spaces] Optional case-insensitive filter on the space display name. (string) |
33
33
  | `--limit` | No | [list_spaces] Maximum number of spaces to return (1-200). Default: 50 \| [read] Maximum number of messages to return (1-100). Default: 25 (integer) |
34
- | `--space` | No | [read] Space resource name, e.g. 'spaces/AAAAxxxx'. \| [send] Space resource name, e.g. 'spaces/AAAAxxxx'. (string) |
35
- | `--message` | No | [send] The message text to send. Supports Google Chat formatting. (string) |
36
- | `--thread` | No | [send] Optional thread resource name (e.g. 'spaces/AAAAxxxx/threads/yyyy') to reply in a thread. Omit to start a new thread. (string) |
34
+ | `--space` | No | [read] Space resource name, e.g. 'spaces/AAAAxxxx'. \| [send] Space resource name, e.g. 'spaces/AAAAxxxx'. \| [upload] Space resource name, e.g. 'spaces/AAAAxxxx'. \| [list_members] Space resource name, e.g. 'spaces/AAAAxxxx'. (string) |
35
+ | `--message` | No | [send] The message text to send. Supports Google Chat formatting. \| [upload] Optional caption text sent with the attachment. \| [update] Message resource name to edit, e.g. 'spaces/AAAAxxxx/messages/yyyy'. \| [delete] Message resource name to delete, e.g. 'spaces/AAAAxxxx/messages/yyyy'. \| [react] Message resource name, e.g. 'spaces/AAAAxxxx/messages/yyyy'. (string) |
36
+ | `--thread` | No | [send] Optional thread resource name (e.g. 'spaces/AAAAxxxx/threads/yyyy') to reply in a thread. Omit to start a new thread. \| [upload] Optional thread resource name (e.g. 'spaces/AAAAxxxx/threads/yyyy') to attach in a thread. Omit to start a new thread. (string) |
37
+ | `--file_path` | No | [upload] Path or URL of the file to upload. Accepts (1) a local server filesystem path; (2) a Genspark file-wrapper URL (``https://www.genspark.ai/api/files/s/<code>``); or (3) an AI Drive path (``/mnt/aidrive/...``, ``/aidrive/...``, ``aidrive://...``). Mutually exclusive with ``content``. (string) |
38
+ | `--content` | No | [upload] Text content to upload as the file body (UTF-8). Requires ``file_name``. Mutually exclusive with ``file_path``. (string) |
39
+ | `--file_name` | No | [upload] File name including extension (e.g. 'report.pdf'). Required with ``content``; defaults to the source basename with ``file_path``. (string) |
40
+ | `--text` | No | [update] The new message text (replaces the current text). Supports Google Chat formatting. (string) |
41
+ | `--emoji` | No | [react] The emoji as a unicode character, e.g. '👍' or '🎉'. (string) |
42
+ | `--remove` | No | [react] true removes YOUR OWN existing reaction instead of adding one. Default: false. (boolean, default: `False`) |
37
43
 
38
44
  ## See Also
39
45
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: gsk-google-contacts
3
3
  version: 1.0.0
4
- description: 'Google Contacts operations. Actions: search, get, create, update.'
4
+ description: 'Google Contacts operations. Actions: search, get.'
5
5
  metadata:
6
6
  category: general
7
7
  requires:
@@ -14,7 +14,7 @@ metadata:
14
14
 
15
15
  **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
16
16
 
17
- Google Contacts operations. Actions: search, get, create, update.
17
+ Google Contacts operations. Actions: search, get.
18
18
 
19
19
  ## Usage
20
20
 
@@ -28,23 +28,11 @@ gsk contacts [options]
28
28
 
29
29
  | Flag | Required | Description |
30
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) |
31
+ | `<action>` (positional) | Yes | Action to perform. 'search': Search contacts by name, email, or phone; 'get': Get details of a specific contact (string, one of: search, get) |
32
32
  | `--query` | No | [search] Search query to find contacts. Searches across names, email addresses, phone numbers, and notes. (string) |
33
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) |
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. (string) |
35
+ | `--resource_name` | No | [get] The resource name of the contact to retrieve (e.g., 'people/c123456789'). This is returned from search results. (string) |
48
36
 
49
37
  ## See Also
50
38
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: gsk-google-drive
3
3
  version: 1.0.0
4
- description: 'Google Drive file operations. Actions: list, search, read, upload.'
4
+ description: 'Google Drive file operations. Actions: list, search, read, upload, share.'
5
5
  metadata:
6
6
  category: general
7
7
  requires:
@@ -14,7 +14,7 @@ metadata:
14
14
 
15
15
  **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
16
16
 
17
- Google Drive file operations. Actions: list, search, read, upload.
17
+ Google Drive file operations. Actions: list, search, read, upload, share.
18
18
 
19
19
  ## Usage
20
20
 
@@ -28,14 +28,14 @@ gsk gdrive [options]
28
28
 
29
29
  | Flag | Required | Description |
30
30
  |------|----------|-------------|
31
- | `<action>` (positional) | Yes | Action to perform. 'list': List files directly inside a Google Drive folder; '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: list, search, read, upload) |
31
+ | `<action>` (positional) | Yes | Action to perform. 'list': List files directly inside a Google Drive folder; 'search': Search files by name, type, or owner; 'read': Read and extract content from a file; 'upload': Upload a file to Google Drive; 'share': Grant access to a file (specific emails or anyone-with-link; app-created/opened files only under drive.file) (string, one of: list, search, read, upload, share) |
32
32
  | `--folder_id` | No | [list] Google Drive folder ID or folder URL. \| [search] Search within a specific folder for 'search' action. Accepts a folder ID or Google Drive folder URL. \| [upload] Google Drive folder ID to upload to. Optional, uploads to root if not specified. (string) |
33
33
  | `--folder_url` | No | [list] Google Drive folder URL. \| [search] Google Drive folder URL to list/search within. (string) |
34
34
  | `--mime_type` | No | [list] Optional MIME type filter. \| [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) |
35
35
  | `--trashed` | No | [list] Include trashed files. \| [search] Include trashed files in search results for 'search' action (boolean) |
36
36
  | `--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''. Use '*' to list all authorized files, especially when folder_id is supplied. (string) |
37
37
  | `--owner` | No | [search] Filter by file owner (email address) for 'search' action (string) |
38
- | `--file_id` | No | [read] The ID of the file to read from Google Drive. (string) |
38
+ | `--file_id` | No | [read] The ID of the file to read from Google Drive. \| [share] Google Drive file ID to share (from google_drive search/list/upload results). (string) |
39
39
  | `--question` | No | [read] The question to answer about the file content. (string) |
40
40
  | `--raw_content` | No | [read] Return the complete converted document text (markdown) without question-answering. For programmatic consumers that need full fidelity; ignores 'question'. (boolean) |
41
41
  | `--content` | No | [upload] Text content to create as a file. Use this for creating text-based files (e.g., .txt, .md, .csv, .json, .html). Provide exactly one of 'content', 'file_path', or 'file_url'. (string) |
@@ -44,6 +44,11 @@ gsk gdrive [options]
44
44
  | `--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) |
45
45
  | `--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`) |
46
46
  | `--share_publicly` | No | [upload] Whether to share the file publicly for viewing. Default: false (boolean, default: `False`) |
47
+ | `--share_type` | No | [share] 'user' (default) grants the people listed in ``emails``; 'anyone' makes the file accessible to anyone with the link. (string, one of: user, anyone) |
48
+ | `--emails` | No | [share] Email addresses to grant access to. Required when share_type is 'user'; ignored for 'anyone'. (array) |
49
+ | `--role` | No | [share] Access level to grant: 'reader' (default), 'commenter', or 'writer'. (string, one of: reader, commenter, writer) |
50
+ | `--send_notification` | No | [share] Send Google's notification email to the grantees (share_type 'user' only). Default: true. (boolean, default: `True`) |
51
+ | `--message` | No | [share] Optional personal message included in the notification email. (string) |
47
52
 
48
53
  ## Local File Support
49
54
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: gsk-onedrive
3
3
  version: 1.0.0
4
- description: 'OneDrive file operations. Actions: list, search, read, upload.'
4
+ description: 'OneDrive file operations. Actions: list, search, read, upload, share.'
5
5
  metadata:
6
6
  category: general
7
7
  requires:
@@ -14,7 +14,7 @@ metadata:
14
14
 
15
15
  **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
16
16
 
17
- OneDrive file operations. Actions: list, search, read, upload.
17
+ OneDrive file operations. Actions: list, search, read, upload, share.
18
18
 
19
19
  ## Usage
20
20
 
@@ -26,20 +26,22 @@ gsk onedrive [options]
26
26
 
27
27
  | Flag | Required | Description |
28
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; 'upload': Upload a file (local path, file-wrapper URL, AI Drive path, or text content) to OneDrive (string, one of: list, search, read, upload) |
29
+ | `<action>` (positional) | Yes | Action to perform. 'list': List files in a folder; 'search': Search files; 'read': Read and extract content from a file; 'upload': Upload a file (local path, file-wrapper URL, AI Drive path, or text content) to OneDrive; 'share': Create a sharing link (view/edit/embed; anonymous or organization scope) for a file or folder (string, one of: list, search, read, upload, share) |
30
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
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. \| [upload] Target folder item ID (from onedrive_list_files or onedrive_search). If omitted, ``folder_path`` is used; if both are omitted, the upload goes to the OneDrive root. (string) |
32
32
  | `--folder_path` | No | [list] The folder path relative to OneDrive root. Example: 'Documents/Projects' to list files in that subfolder. \| [upload] Target folder path relative to the OneDrive root, e.g. 'Documents/Reports'. The folder must already exist. Ignored when ``folder_id`` is provided. (string) |
33
33
  | `--limit` | No | [list] Maximum number of items to return (1-200). Default: 50 (integer) |
34
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) |
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. \| [share] OneDrive item ID of the file or folder to share (from onedrive_list_files or onedrive_search). Mutually exclusive with ``file_path``. (string) |
36
36
  | `--question` | No | [read] The question to answer about the file content. (string) |
37
37
  | `--raw_content` | No | [read] Return the complete converted document text (markdown) without question-answering. For programmatic consumers that need full fidelity; ignores 'question'. (boolean) |
38
- | `--file_path` | No | [upload] Path or URL to the file to upload. Accepts any of: (1) a local server filesystem path (e.g. ``/tmp/report.xlsx`` — Claw VM use); (2) a Genspark file-wrapper URL (e.g. ``https://www.genspark.ai/api/files/s/<code>``) — canonical sandbox-to-server bridge, produced by calling ``UploadFileWrapper`` on a sandbox file first; or (3) an AI Drive path (e.g. ``/mnt/aidrive/path/to/file.xlsx``, ``/aidrive/...`` or ``aidrive://...``). Mutually exclusive with ``content``. (string) |
38
+ | `--file_path` | No | [upload] Path or URL to the file to upload. Accepts any of: (1) a local server filesystem path (e.g. ``/tmp/report.xlsx`` — Claw VM use); (2) a Genspark file-wrapper URL (e.g. ``https://www.genspark.ai/api/files/s/<code>``) — canonical sandbox-to-server bridge, produced by calling ``UploadFileWrapper`` on a sandbox file first; or (3) an AI Drive path (e.g. ``/mnt/aidrive/path/to/file.xlsx``, ``/aidrive/...`` or ``aidrive://...``). Mutually exclusive with ``content``. \| [share] Path of the item relative to the OneDrive root, e.g. 'Documents/report.pdf'. Ignored when ``file_id`` is provided. (string) |
39
39
  | `--content` | No | [upload] Text content to upload as the file body (encoded as UTF-8). Useful for creating .txt/.md/.json/.csv files without a local copy. Mutually exclusive with ``file_path``. (string) |
40
40
  | `--file_name` | No | [upload] File name to create on OneDrive, including the extension (e.g. 'report.pdf'). Required when ``content`` is used; if omitted with ``file_path``, the basename of the source file is used. (string) |
41
41
  | `--mime_type` | No | [upload] MIME type of the file. Auto-detected from the file extension if omitted. (string) |
42
42
  | `--conflict_behavior` | No | [upload] How to handle a name conflict on OneDrive: 'rename' appends a suffix (default), 'replace' overwrites, 'fail' returns an error. (string, one of: rename, replace, fail) |
43
+ | `--link_type` | No | [share] Kind of link to create: 'view' (read-only, default), 'edit', or 'embed'. (string, one of: view, edit, embed) |
44
+ | `--link_scope` | No | [share] Who the link works for: 'anonymous' (anyone with the link) or 'organization' (signed-in members of the user's org). Omitted, the account default applies. (string, one of: anonymous, organization) |
43
45
 
44
46
  ## Local File Support
45
47
 
@@ -19,7 +19,8 @@ description: 'Make a real AI phone call on the user''s behalf. Validates prerequ
19
19
  the built-in Maps lookup) — never fabricate a number. contact_info accepts a phone
20
20
  number, a calllog: contact_ref, or a Google Maps place_id from maps_search — the
21
21
  type is detected automatically from its shape. With --dry-run, only validates and
22
- resolves the contact; no call is placed.
22
+ resolves the contact (plus the from_number choice when one is given); no call is
23
+ placed.
23
24
 
24
25
  First-time users must finish a one-time web setup before any real call: if the result
25
26
  carries code=setup_incomplete, show the user its setup_url (browser page ending
@@ -40,7 +41,7 @@ metadata:
40
41
 
41
42
  Make a real AI phone call on the user's behalf. Validates prerequisites (membership, phone setup, credits), resolves the contact (Google Maps place data for businesses; number validation for personal contacts), then dials, converses by voice, and returns the outcome: call status, true audio duration (audio_duration_seconds), dial attempts (dial_attempts), summary, and transcript. A persistent call record (summary, transcript, recording) is saved with the call's project.
42
43
  MANDATORY after every call, without being asked: (1) present the outcome to the user — who was called, final status, real call duration, and the key result; (2) disclose EVERY dial attempt made, including automatic retries and any accidental extra dials; (3) tell the user a persistent call record exists and how to see it (the call_log / call_detail tools, or the call's project page). Show the transcript inline when short; offer it otherwise.
43
- Phone numbers must have verifiable lineage (user-provided, prior tool results, or the built-in Maps lookup) — never fabricate a number. contact_info accepts a phone number, a calllog: contact_ref, or a Google Maps place_id from maps_search — the type is detected automatically from its shape. With --dry-run, only validates and resolves the contact; no call is placed.
44
+ Phone numbers must have verifiable lineage (user-provided, prior tool results, or the built-in Maps lookup) — never fabricate a number. contact_info accepts a phone number, a calllog: contact_ref, or a Google Maps place_id from maps_search — the type is detected automatically from its shape. With --dry-run, only validates and resolves the contact (plus the from_number choice when one is given); no call is placed.
44
45
  First-time users must finish a one-time web setup before any real call: if the result carries code=setup_incomplete, show the user its setup_url (browser page ending in a short test call to their own phone), wait for them to confirm, then retry. Use phone_call_setup_status to pre-check instead of dialing blind when the user may not have set up yet.
45
46
 
46
47
  ## Usage
@@ -54,7 +55,7 @@ gsk phone-call dial [options]
54
55
  | Flag | Required | Description |
55
56
  |------|----------|-------------|
56
57
  | `<recipient>` (positional) | Yes | The name of the person or business to call. Examples: - Personal: 'John Smith', 'Dr. Sarah Johnson' - Business: 'Starbucks George Street', 'Hilton Hotel Downtown' (string) |
57
- | `-c`, `--contact_info` | Yes | Contact information — a phone number, a calllog: contact_ref, or a Google Maps place_id; the type is detected automatically from its shape. **Phone numbers**: include the international country code ('+1-555-123-4567'); numbers without one are treated as US. MUST have verified data lineage from (1) user-provided info, (2) previous tool results, or (3) explicit context — NEVER fabricate, estimate, or infer a number. **calllog: contact_ref** (from `gsk phone-call log --view contacts`): the preferred way to re-dial someone previously called — their real number stays masked. **Google Maps place_id** (e.g. 'ChIJcawkWTyuEmsRG56o5LAc0LQ'): must come from maps_search results — never fabricate or guess one. The call then uses the business's Maps phone number and enriches the call record with the place data. (string) |
58
+ | `-c`, `--contact_info` | Yes | Contact information — a phone number, a calllog: contact_ref, or a Google Maps place_id; the type is detected automatically from its shape. **Phone numbers**: include the international country code ('+1-555-123-4567'); numbers without one are treated as US. MUST have verified data lineage from (1) user-provided info, (2) previous tool results, or (3) explicit context — NEVER fabricate, estimate, or infer a number. **calllog: contact_ref** (from the call_log tool's contacts view, `--view contacts`): the preferred way to re-dial someone previously called — their real number stays masked. **Google Maps place_id** (e.g. 'ChIJcawkWTyuEmsRG56o5LAc0LQ'): must come from maps_search results — never fabricate or guess one. The call then uses the business's Maps phone number and enriches the call record with the place data. (string) |
58
59
  | `-p`, `--purpose` | Yes | The clear reason for making the call (e.g., 'Check reservation availability', 'Inquire about business hours'). (string) |
59
60
 
60
61
  > **CAUTION:** This command performs a write/send operation. Double-check parameters before executing.