@genspark/cli 1.5.1 → 1.5.2
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.
- package/README.md +22 -14
- package/dist/client.d.ts +5 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +107 -0
- package/dist/client.js.map +1 -1
- package/dist/commands/aidrive-upload.d.ts +10 -7
- package/dist/commands/aidrive-upload.d.ts.map +1 -1
- package/dist/commands/aidrive-upload.js +35 -8
- package/dist/commands/aidrive-upload.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +166 -19
- package/dist/index.js.map +1 -1
- package/dist/localFiles.d.ts +10 -0
- package/dist/localFiles.d.ts.map +1 -1
- package/dist/localFiles.js +17 -0
- package/dist/localFiles.js.map +1 -1
- package/dist/mesh/manifest.d.ts +4 -4
- package/dist/mesh/manifest.d.ts.map +1 -1
- package/dist/mesh/manifest.js +9 -9
- package/dist/mesh/manifest.js.map +1 -1
- package/dist/task-shim.d.ts +13 -0
- package/dist/task-shim.d.ts.map +1 -0
- package/dist/task-shim.js +40 -0
- package/dist/task-shim.js.map +1 -0
- package/docs/skills.md +7 -4
- package/package.json +1 -1
- package/skills/gsk-acp-agents/SKILL.md +2 -2
- package/skills/gsk-create-task/SKILL.md +7 -40
- package/skills/gsk-github/SKILL.md +4 -0
- package/skills/gsk-gmail/SKILL.md +4 -0
- package/skills/gsk-google-calendar/SKILL.md +5 -0
- package/skills/gsk-google-chat/SKILL.md +6 -2
- package/skills/gsk-google-docs/SKILL.md +4 -0
- package/skills/gsk-google-drive/SKILL.md +4 -0
- package/skills/gsk-google-sheets/SKILL.md +4 -0
- package/skills/gsk-google-slides/SKILL.md +4 -0
- package/skills/gsk-image-generation/SKILL.md +1 -1
- package/skills/gsk-microsoft-teams/SKILL.md +18 -5
- package/skills/gsk-notion/SKILL.md +4 -0
- package/skills/gsk-onedrive/SKILL.md +4 -0
- package/skills/gsk-outlook-calendar/SKILL.md +5 -0
- package/skills/gsk-outlook-email/SKILL.md +4 -0
- package/skills/gsk-shared/SKILL.md +5 -5
- package/skills/gsk-sharepoint/SKILL.md +4 -0
- package/skills/gsk-slack/SKILL.md +7 -1
- package/skills/gsk-task-artifacts/SKILL.md +35 -0
- package/skills/gsk-task-continue/SKILL.md +13 -10
- package/skills/gsk-task-info/SKILL.md +36 -0
- package/skills/gsk-task-status/SKILL.md +6 -6
- package/skills/gsk-task-stop/SKILL.md +35 -0
- package/skills/gsk-video-generation/SKILL.md +8 -5
|
@@ -104,7 +104,7 @@ session/export({ format: "pdf", outputPath: "/tmp/report.pdf" })
|
|
|
104
104
|
}
|
|
105
105
|
```
|
|
106
106
|
|
|
107
|
-
For one-shot (non-ACP) mode, use the `-o` flag: `gsk task docs --
|
|
107
|
+
For one-shot (non-ACP) mode, use the `-o` flag: `gsk task create docs --task_name "..." --query "..." --instructions "..." -o report.docx` (implies a live follow until the task finishes)
|
|
108
108
|
|
|
109
109
|
## Features
|
|
110
110
|
|
|
@@ -171,7 +171,7 @@ sessions_spawn(
|
|
|
171
171
|
|
|
172
172
|
## Configuration
|
|
173
173
|
|
|
174
|
-
ACP agents are pre-configured in `~/.acpx/config.json` on Genspark Claw VMs. Each agent maps to `gsk task <type> --acp`.
|
|
174
|
+
ACP agents are pre-configured in `~/.acpx/config.json` on Genspark Claw VMs. Each agent maps to `gsk task create <type> --acp`.
|
|
175
175
|
|
|
176
176
|
## See Also
|
|
177
177
|
|
|
@@ -12,65 +12,32 @@ metadata:
|
|
|
12
12
|
requires:
|
|
13
13
|
bins:
|
|
14
14
|
- gsk
|
|
15
|
-
cliHelp: gsk
|
|
15
|
+
cliHelp: gsk create_task --help
|
|
16
16
|
---
|
|
17
17
|
|
|
18
18
|
# gsk-create-task
|
|
19
19
|
|
|
20
20
|
**PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
|
|
21
21
|
|
|
22
|
-
Create and execute tasks using specialized AI agents. Supports super_agent, podcasts, docs, slides,
|
|
23
|
-
|
|
24
|
-
### Persistent Design workflow
|
|
25
|
-
|
|
26
|
-
`design` is managed entirely through the GSK task lifecycle; it does not
|
|
27
|
-
require a local bridge:
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
gsk task design --task_name "Pricing page" \
|
|
31
|
-
--query "Design a responsive pricing page" \
|
|
32
|
-
--instructions "Produce implementation-ready HTML/CSS/assets" \
|
|
33
|
-
--image ./current-desktop.png \
|
|
34
|
-
--file ./design-tokens.css
|
|
35
|
-
gsk task_status <project_id>
|
|
36
|
-
gsk task_continue <project_id> -m "Emphasize the enterprise tier" \
|
|
37
|
-
--last-seen-revision <revision> --image ./mobile-v2.png
|
|
38
|
-
gsk design_export <project_id> --revision latest --preview \
|
|
39
|
-
--viewport 1440x900 --viewport 390x844 -o design.zip
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
For Design commands, repeat `--image` and `--file` in the order the references
|
|
43
|
-
should appear. The CLI uploads the complete local batch before creating or
|
|
44
|
-
continuing the project, detects each MIME type, and sends structured attachment
|
|
45
|
-
metadata; upload failure therefore does not start a partial Design operation.
|
|
46
|
-
`design_export --preview` returns private PNG wrappers for the exact same
|
|
47
|
-
resolved revision as the ZIP and manifest. If no viewport is supplied, desktop
|
|
48
|
-
and mobile defaults are rendered.
|
|
49
|
-
|
|
50
|
-
The full SB-Git `main` HEAD SHA is the immutable `revision`. `updated_at`
|
|
51
|
-
is the timestamp of that same commit. Before the first Web submission,
|
|
52
|
-
`status=awaiting_user`, `revision=null`, and `updated_at` is the project
|
|
53
|
-
creation timestamp. Read operations follow the same owner/share permissions as
|
|
54
|
-
the Web project; continuation requires write access. Missing and unauthorized
|
|
55
|
-
IDs intentionally return the same not-found response.
|
|
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.
|
|
56
23
|
|
|
57
24
|
## Usage
|
|
58
25
|
|
|
59
26
|
```bash
|
|
60
|
-
gsk
|
|
27
|
+
gsk create_task [options]
|
|
61
28
|
```
|
|
62
29
|
|
|
63
|
-
**Aliases:** `task`
|
|
64
|
-
|
|
65
30
|
## Flags
|
|
66
31
|
|
|
67
32
|
| Flag | Required | Description |
|
|
68
33
|
|------|----------|-------------|
|
|
69
|
-
| `<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.
|
|
34
|
+
| `<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 persistent visual web/HTML design canvas for landing pages, marketing sites, posters, slides-as-pages, and interactive UI mockups. It pre-creates a stable project_id and hands the user its Web canvas with query and instructions combined into the single visible prompt field (the user submits it there). The same project can later be inspected with task_status and edited with task_continue. Use when the user wants 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. - meeting_notes - sheets - 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) |
|
|
70
35
|
| `--task_name` | Yes | Name for the task/project (string) |
|
|
71
36
|
| `--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) |
|
|
72
|
-
| `--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) |
|
|
37
|
+
| `--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. Design is the exception to the system-prompt transport: its Web canvas has one visible prompt field, so create_task appends instructions under an 'Additional requirements' heading in that field for the user to review before submitting. (string) |
|
|
73
38
|
| `--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
|
+
| `--attachments` | No | For `design` tasks: ordered structured references shown in the native Design attachment area. URLs may be private file-wrapper, https, or aidrive URLs. Each item preserves its original name, MIME type, and semantic role. (array) |
|
|
40
|
+
| `--wait` | No | Default false: the task is SUBMITTED to the durable runtime and this call returns immediately with its run_id — poll `gsk task status <run_id>` until it finishes, stop it with `gsk task stop <run_id>`. Pass true to block until the task completes and get the full result inline (legacy behavior; generation can take 5-30+ minutes, so set your shell timeout to 1800000 ms). (boolean) |
|
|
74
41
|
|
|
75
42
|
> **CAUTION:** This command performs a write/send operation. Double-check parameters before executing.
|
|
76
43
|
|
|
@@ -56,6 +56,10 @@ gsk github [options]
|
|
|
56
56
|
| `--milestone` | No | [create_issue] The milestone number to associate with this issue. \| [update_issue] The milestone number to associate with this issue. Set to null to remove milestone. (integer) |
|
|
57
57
|
| `--comment_id` | No | [update_comment] The id of the comment to update (NOT the issue number — that's a different identifier). Get this from github_create_comment's response or github_list_comments. (integer) |
|
|
58
58
|
|
|
59
|
+
## Write Confirmation (double-call)
|
|
60
|
+
|
|
61
|
+
Write actions (send / create / update / delete / react / upload, and write methods through `api` where present) may be confirmation-gated. A response carrying `status: "pending_confirmation"` (or a similar needs-confirmation payload) is NOT a failure — it executes nothing and summarizes what would happen. To complete the write, re-run the IDENTICAL command: the pending record (15-minute TTL) is matched and the operation executes; success clears the record (a further identical call pends again) and a failed execution keeps it, so the retry arc stays open. Where the Flags table lists `--skip_confirmation` for an action, passing `--skip_confirmation true` right after a pending response is honored; gated actions without that flag complete ONLY via the double-call.
|
|
62
|
+
|
|
59
63
|
## See Also
|
|
60
64
|
|
|
61
65
|
- [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
|
|
@@ -83,6 +83,10 @@ gsk gmail [options]
|
|
|
83
83
|
| `--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) |
|
|
84
84
|
| `--signature` | No | [update_signature] New signature as HTML (plain text works too). An empty string removes the signature. (string) |
|
|
85
85
|
|
|
86
|
+
## Write Confirmation (double-call)
|
|
87
|
+
|
|
88
|
+
Write actions (send / create / update / delete / react / upload, and write methods through `api` where present) may be confirmation-gated. A response carrying `status: "pending_confirmation"` (or a similar needs-confirmation payload) is NOT a failure — it executes nothing and summarizes what would happen. To complete the write, re-run the IDENTICAL command: the pending record (15-minute TTL) is matched and the operation executes; success clears the record (a further identical call pends again) and a failed execution keeps it, so the retry arc stays open. Where the Flags table lists `--skip_confirmation` for an action, passing `--skip_confirmation true` right after a pending response is honored; gated actions without that flag complete ONLY via the double-call.
|
|
89
|
+
|
|
86
90
|
## See Also
|
|
87
91
|
|
|
88
92
|
- [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
|
|
@@ -53,6 +53,7 @@ gsk google_calendar [options]
|
|
|
53
53
|
| `--auto_skip_confirmation` | No | [create] 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`) |
|
|
54
54
|
| `--is_all_day` | No | [create] Whether to create an all-day busy/block event. (boolean, default: `False`) |
|
|
55
55
|
| `--all_day` | No | [create] Alias for is_all_day. (boolean, default: `False`) |
|
|
56
|
+
| `--skip_conflict_check` | No | [create] Set true ONLY after the user has explicitly confirmed they want to book despite a conflict/warning surfaced by a prior needs_confirmation result. Leave false (default) normally. (boolean, default: `False`) |
|
|
56
57
|
| `--response` | No | [respond] RSVP value. 'accept' / 'decline' / 'tentative' (Yes / No / Maybe). (string, one of: accept, decline, tentative) |
|
|
57
58
|
| `--comment` | No | [respond] Optional free-text comment shown to the organizer alongside the response. (string) |
|
|
58
59
|
| `--scope` | No | [respond] Recurring-series scope. 'single' (default) responds for the specific instance only; 'series' responds for the entire series (patches the master event). \| [modify] Recurring-series scope. 'single' (default) patches the specific instance; 'series' patches the master event so the change applies to every occurrence. (string, one of: single, series, default: `single`) |
|
|
@@ -60,6 +61,10 @@ gsk google_calendar [options]
|
|
|
60
61
|
| `--remove_attendees` | No | [modify] Remove these attendees from the existing list (case-insensitive email match). (array) |
|
|
61
62
|
| `--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`) |
|
|
62
63
|
|
|
64
|
+
## Write Confirmation (double-call)
|
|
65
|
+
|
|
66
|
+
Write actions (send / create / update / delete / react / upload, and write methods through `api` where present) may be confirmation-gated. A response carrying `status: "pending_confirmation"` (or a similar needs-confirmation payload) is NOT a failure — it executes nothing and summarizes what would happen. To complete the write, re-run the IDENTICAL command: the pending record (15-minute TTL) is matched and the operation executes; success clears the record (a further identical call pends again) and a failed execution keeps it, so the retry arc stays open. Where the Flags table lists `--skip_confirmation` for an action, passing `--skip_confirmation true` right after a pending response is honored; gated actions without that flag complete ONLY via the double-call.
|
|
67
|
+
|
|
63
68
|
## See Also
|
|
64
69
|
|
|
65
70
|
- [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
|
|
@@ -35,15 +35,19 @@ gsk google_chat [options]
|
|
|
35
35
|
| `--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) |
|
|
36
36
|
| `--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) |
|
|
37
37
|
| `--thread` | No | [read] Optional thread resource name (e.g. 'spaces/AAAAxxxx/threads/yyyy') to return only that thread's messages — e.g. to verify where a threaded reply landed. \| [send] Optional thread resource name (e.g. 'spaces/AAAAxxxx/threads/yyyy') to reply in a thread. Omit to start a new thread. If the thread cannot be replied to, the API starts a NEW thread instead — the response then carries 'thread_fallback': true and 'actual_thread' (set 'strict_thread' to fail instead). \| [upload] Optional thread resource name (e.g. 'spaces/AAAAxxxx/threads/yyyy') to attach in a thread. Omit to start a new thread. If the thread cannot be replied to, the API starts a NEW thread instead — the response then carries 'thread_fallback': true and 'actual_thread' (set 'strict_thread' to fail instead). (string) |
|
|
38
|
-
| `--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) |
|
|
38
|
+
| `--message` | No | [send] The message text to send. Supports Google Chat formatting. To @mention someone, embed '<users/{user_id}>' in the text — a plain '@Name' renders as literal text and notifies nobody. User ids come from google_chat_list_members ('user' field) or the 'mentions' field on read messages; '<users/all>' mentions the whole space. \| [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) |
|
|
39
39
|
| `--strict_thread` | No | [send] If true and 'thread' is set, fail with an error when the thread cannot be replied to instead of falling back to a new thread. Default: false. \| [upload] If true and 'thread' is set, fail with an error when the thread cannot be replied to instead of falling back to a new thread. Default: false. (boolean, default: `False`) |
|
|
40
40
|
| `--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) |
|
|
41
41
|
| `--content` | No | [upload] Text content to upload as the file body (UTF-8). Requires ``file_name``. Mutually exclusive with ``file_path``. (string) |
|
|
42
42
|
| `--file_name` | No | [upload] File name including extension (e.g. 'report.pdf'). Required with ``content``; defaults to the source basename with ``file_path``. (string) |
|
|
43
|
-
| `--text` | No | [update] The new message text (replaces the current text). Supports Google Chat formatting. (string) |
|
|
43
|
+
| `--text` | No | [update] The new message text (replaces the current text). Supports Google Chat formatting, including '<users/{user_id}>' @mention syntax (a plain '@Name' is literal text, not a mention). (string) |
|
|
44
44
|
| `--emoji` | No | [react] The emoji as a unicode character, e.g. '👍' or '🎉'. (string) |
|
|
45
45
|
| `--remove` | No | [react] true removes YOUR OWN existing reaction instead of adding one. Default: false. (boolean, default: `False`) |
|
|
46
46
|
|
|
47
|
+
## Write Confirmation (double-call)
|
|
48
|
+
|
|
49
|
+
Write actions (send / create / update / delete / react / upload, and write methods through `api` where present) may be confirmation-gated. A response carrying `status: "pending_confirmation"` (or a similar needs-confirmation payload) is NOT a failure — it executes nothing and summarizes what would happen. To complete the write, re-run the IDENTICAL command: the pending record (15-minute TTL) is matched and the operation executes; success clears the record (a further identical call pends again) and a failed execution keeps it, so the retry arc stays open. Where the Flags table lists `--skip_confirmation` for an action, passing `--skip_confirmation true` right after a pending response is honored; gated actions without that flag complete ONLY via the double-call.
|
|
50
|
+
|
|
47
51
|
## See Also
|
|
48
52
|
|
|
49
53
|
- [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
|
|
@@ -41,6 +41,10 @@ gsk docs [options]
|
|
|
41
41
|
| `--query` | No | [search] Search query to find documents by name or content. (string) |
|
|
42
42
|
| `--limit` | No | [search] Maximum number of results to return (1-50). Default: 10 (integer) |
|
|
43
43
|
|
|
44
|
+
## Write Confirmation (double-call)
|
|
45
|
+
|
|
46
|
+
Write actions (send / create / update / delete / react / upload, and write methods through `api` where present) may be confirmation-gated. A response carrying `status: "pending_confirmation"` (or a similar needs-confirmation payload) is NOT a failure — it executes nothing and summarizes what would happen. To complete the write, re-run the IDENTICAL command: the pending record (15-minute TTL) is matched and the operation executes; success clears the record (a further identical call pends again) and a failed execution keeps it, so the retry arc stays open. Where the Flags table lists `--skip_confirmation` for an action, passing `--skip_confirmation true` right after a pending response is honored; gated actions without that flag complete ONLY via the double-call.
|
|
47
|
+
|
|
44
48
|
## See Also
|
|
45
49
|
|
|
46
50
|
- [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
|
|
@@ -57,6 +57,10 @@ gsk gdrive [options]
|
|
|
57
57
|
|
|
58
58
|
Parameters that accept URLs (`--folder_url`, `--file_url`) also accept local file paths. The CLI automatically uploads local files before sending to the API.
|
|
59
59
|
|
|
60
|
+
## Write Confirmation (double-call)
|
|
61
|
+
|
|
62
|
+
Write actions (send / create / update / delete / react / upload, and write methods through `api` where present) may be confirmation-gated. A response carrying `status: "pending_confirmation"` (or a similar needs-confirmation payload) is NOT a failure — it executes nothing and summarizes what would happen. To complete the write, re-run the IDENTICAL command: the pending record (15-minute TTL) is matched and the operation executes; success clears the record (a further identical call pends again) and a failed execution keeps it, so the retry arc stays open. Where the Flags table lists `--skip_confirmation` for an action, passing `--skip_confirmation true` right after a pending response is honored; gated actions without that flag complete ONLY via the double-call.
|
|
63
|
+
|
|
60
64
|
## See Also
|
|
61
65
|
|
|
62
66
|
- [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
|
|
@@ -50,6 +50,10 @@ gsk sheets [options]
|
|
|
50
50
|
|
|
51
51
|
Parameters that accept URLs (`--from_url`) also accept local file paths. The CLI automatically uploads local files before sending to the API.
|
|
52
52
|
|
|
53
|
+
## Write Confirmation (double-call)
|
|
54
|
+
|
|
55
|
+
Write actions (send / create / update / delete / react / upload, and write methods through `api` where present) may be confirmation-gated. A response carrying `status: "pending_confirmation"` (or a similar needs-confirmation payload) is NOT a failure — it executes nothing and summarizes what would happen. To complete the write, re-run the IDENTICAL command: the pending record (15-minute TTL) is matched and the operation executes; success clears the record (a further identical call pends again) and a failed execution keeps it, so the retry arc stays open. Where the Flags table lists `--skip_confirmation` for an action, passing `--skip_confirmation true` right after a pending response is honored; gated actions without that flag complete ONLY via the double-call.
|
|
56
|
+
|
|
53
57
|
## See Also
|
|
54
58
|
|
|
55
59
|
- [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
|
|
@@ -42,6 +42,10 @@ gsk slides [options]
|
|
|
42
42
|
| `--format` | No | [export] Export format. Default: 'pptx'. (string, one of: pptx, pdf) |
|
|
43
43
|
| `--filename` | No | [export] Optional custom filename (without extension). If not provided, the original presentation name is used. (string) |
|
|
44
44
|
|
|
45
|
+
## Write Confirmation (double-call)
|
|
46
|
+
|
|
47
|
+
Write actions (send / create / update / delete / react / upload, and write methods through `api` where present) may be confirmation-gated. A response carrying `status: "pending_confirmation"` (or a similar needs-confirmation payload) is NOT a failure — it executes nothing and summarizes what would happen. To complete the write, re-run the IDENTICAL command: the pending record (15-minute TTL) is matched and the operation executes; success clears the record (a further identical call pends again) and a failed execution keeps it, so the retry arc stays open. Where the Flags table lists `--skip_confirmation` for an action, passing `--skip_confirmation true` right after a pending response is honored; gated actions without that flag complete ONLY via the double-call.
|
|
48
|
+
|
|
45
49
|
## See Also
|
|
46
50
|
|
|
47
51
|
- [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
|
|
@@ -32,7 +32,7 @@ gsk img [options]
|
|
|
32
32
|
| `<query>` (positional) | No | Detailed description of the image to generate. The prompt should be in English.However, any specific text that should appear within the image does not need to be translated.(e.g., 'A futuristic cityscape with flying cars and neon lights at night'). Omit when passing the prompt by `query_file` instead. (string) |
|
|
33
33
|
| `--query_file` | No | Optional. Repo-relative path to a UTF-8 text file containing the prompt, used verbatim in place of `query` (lets you pass a long prompt by path instead of inlining it). Requires `repo_id`. When set, `query` may be omitted. (string) |
|
|
34
34
|
| `--bbox` | No | BBox of the target object, for bbox segmentation modelFormat: [x1, y1, x2, y2], x1 and y1 are the top-left corner coordinates, x2 and y2 are the bottom-right corner coordinates. (array) |
|
|
35
|
-
| `-i`, `--image_urls` | No | The URLs of the images to use as a reference for the image generation or editing.
|
|
35
|
+
| `-i`, `--image_urls` | No | The URLs of the images to use as a reference for the image generation or editing. Default is []. REQUIRED whenever the task edits, restyles, or must stay visually consistent with an existing image, person, product, or brand — pass the source/reference URL(s) on EVERY such call, including retries: omitting them regenerates from text and silently discards the user's actual image. (array) |
|
|
36
36
|
| `--repo_id` | No | Optional. Second Brain repo id (provided in the agent's system prompt). Required only when image_urls contains relative paths from a Second Brain project (e.g. 'assets/foo.png'). Absolute http(s) URLs and data: URLs do not need this parameter. (string) |
|
|
37
37
|
| `-r`, `--aspect_ratio` | No | The aspect ratio of the image to generate. Default 'auto'. When editing with image_urls (image-to-image), use 'auto' so the output keeps the reference image's aspect ratio — never switch between portrait and landscape unless the user explicitly asks. (string, one of: 1:1, 4:3, 16:9, 9:16, 3:4, 2:3, 3:2, auto) |
|
|
38
38
|
| `-s`, `--image_size` | No | Image size resolution. Default is auto. (string, one of: auto, 0.5k, 1k, 2k, 3k, 4k) |
|
|
@@ -4,7 +4,7 @@ version: 1.0.0
|
|
|
4
4
|
description: 'Microsoft Teams operations. Actions: send, list_channels, list_chats,
|
|
5
5
|
read_chat, list_channel_messages, list_channel_replies, list_teams, list_members,
|
|
6
6
|
search, search_users, create_chat, create_team, react, delete_message, download_attachment,
|
|
7
|
-
mark_chat_read.'
|
|
7
|
+
mark_chat_read, api, upload.'
|
|
8
8
|
metadata:
|
|
9
9
|
category: general
|
|
10
10
|
requires:
|
|
@@ -19,7 +19,7 @@ metadata:
|
|
|
19
19
|
|
|
20
20
|
> **Note:** a unified `gsk connector` flow is rolling out (see `../gsk-connector/SKILL.md`: `gsk connector tools <id>` / `gsk connector call <id> -t <tool>`) and may not be enabled for every account yet. THIS command remains fully supported — use it directly, and it stays the fallback whenever `gsk connector` is unavailable.
|
|
21
21
|
|
|
22
|
-
Microsoft Teams operations. Actions: send, list_channels, list_chats, read_chat, list_channel_messages, list_channel_replies, list_teams, list_members, search, search_users, create_chat, create_team, react, delete_message, download_attachment, mark_chat_read.
|
|
22
|
+
Microsoft Teams operations. Actions: send, list_channels, list_chats, read_chat, list_channel_messages, list_channel_replies, list_teams, list_members, search, search_users, create_chat, create_team, react, delete_message, download_attachment, mark_chat_read, api, upload.
|
|
23
23
|
|
|
24
24
|
## Usage
|
|
25
25
|
|
|
@@ -33,9 +33,9 @@ gsk teams [options]
|
|
|
33
33
|
|
|
34
34
|
| Flag | Required | Description |
|
|
35
35
|
|------|----------|-------------|
|
|
36
|
-
| `<action>` (positional) | Yes | Action to perform. 'send': Send a message in Teams (reply_to_message_id replies in a channel thread or quotes a chat message); 'list_channels': List hosted and shared channels for an associated team; 'list_chats': List recent chats; 'read_chat': Read a chat's recent messages by chat_id; 'list_channel_messages': List root messages in a channel; one traversal is not a deletion snapshot; 'list_channel_replies': List replies to a channel message; one traversal is not a deletion snapshot; 'download_attachment': Download one attachment or inline hosted image from a message; returns a file URL; 'mark_chat_read': Mark a chat as read for the connected user (clears its unread badge; own read state only); 'list_teams': List direct teams and shared-channel host teams; 'search': Search messages; 'search_users': Search for users; 'create_chat': Create a new chat; 'react': Emoji-react to a chat or channel message (or remove your reaction); 'list_members': List ALL members of a team with roles and emails (full roster, internally paginated); 'create_team': Create a new team (you become owner) and optionally add members by email; 'delete_message': Soft-delete one of your own messages (chat, channel, or threaded reply) (string, one of: send, list_channels, list_chats, read_chat, list_channel_messages, list_channel_replies, download_attachment, mark_chat_read, list_teams, search, search_users, create_chat, react, list_members, create_team, delete_message) |
|
|
37
|
-
| `--content` | No | [send] The message content to send. Accepts either Markdown or HTML. Markdown (e.g. '## Heading', '**bold**', '- item', tables) is automatically rendered to formatted HTML. You may also pass raw HTML directly: <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. INLINE IMAGES are supported: embed <img src="data:image/png;base64,..."> (any image/* data URI) and the bytes are automatically relocated into Microsoft Graph hostedContents so the image renders in the message — no manual Graph calls needed. (string) |
|
|
38
|
-
| `--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. \| [read_chat] The Teams chat ID (e.g. '19:...@thread.v2'). Required. \| [download_attachment] Chat ID ('19:…@thread.v2') for a chat message. Mutually exclusive with team_id/channel_id. \| [mark_chat_read] Chat ID ('19:…@thread.v2') to mark as read, from microsoft_teams_list_chats. \| [react] ID of the chat containing the message. Provide either chat_id, or team_id + channel_id for a channel message. \| [list_members] Chat ID ('19:…@thread.v2') to list a group chat's or DM's members instead of a team's. \| [delete_message] ID of the chat containing the message. Provide either chat_id, or team_id + channel_id for a channel message. (string) |
|
|
36
|
+
| `<action>` (positional) | Yes | Action to perform. 'send': Send a message in Teams (reply_to_message_id replies in a channel thread or quotes a chat message); 'list_channels': List hosted and shared channels for an associated team; 'list_chats': List recent chats; 'read_chat': Read a chat's recent messages by chat_id; 'list_channel_messages': List root messages in a channel; one traversal is not a deletion snapshot; 'list_channel_replies': List replies to a channel message; one traversal is not a deletion snapshot; 'download_attachment': Download one attachment or inline hosted image from a message; returns a file URL; 'mark_chat_read': Mark a chat as read for the connected user (clears its unread badge; own read state only); 'api': Raw Graph call with the connected account, for resources the typed actions do not cover; GET immediate, writes held for confirmation; 'list_teams': List direct teams and shared-channel host teams; 'search': Search messages; 'search_users': Search for users; 'create_chat': Create a new chat; 'react': Emoji-react to a chat or channel message (or remove your reaction); 'upload': Share a file into a chat (uploads to the sender's OneDrive Teams folder, posts a file card); 'list_members': List ALL members of a team with roles and emails (full roster, internally paginated); 'create_team': Create a new team (you become owner) and optionally add members by email; 'delete_message': Soft-delete one of your own messages (chat, channel, or threaded reply) (string, one of: send, list_channels, list_chats, read_chat, list_channel_messages, list_channel_replies, download_attachment, mark_chat_read, api, list_teams, search, search_users, create_chat, react, upload, list_members, create_team, delete_message) |
|
|
37
|
+
| `--content` | No | [send] The message content to send. Accepts either Markdown or HTML. Markdown (e.g. '## Heading', '**bold**', '- item', tables) is automatically rendered to formatted HTML. You may also pass raw HTML directly: <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. INLINE IMAGES are supported: embed <img src="data:image/png;base64,..."> (any image/* data URI) and the bytes are automatically relocated into Microsoft Graph hostedContents so the image renders in the message — no manual Graph calls needed. \| [upload] Text content to upload as a file (UTF-8). Provide exactly one of 'content' or 'file_path'. (string) |
|
|
38
|
+
| `--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. \| [read_chat] The Teams chat ID (e.g. '19:...@thread.v2'). Required. \| [download_attachment] Chat ID ('19:…@thread.v2') for a chat message. Mutually exclusive with team_id/channel_id. \| [mark_chat_read] Chat ID ('19:…@thread.v2') to mark as read, from microsoft_teams_list_chats. \| [react] ID of the chat containing the message. Provide either chat_id, or team_id + channel_id for a channel message. \| [upload] Target chat ID (e.g. '19:…@thread.v2', from list_chats/search_users). \| [list_members] Chat ID ('19:…@thread.v2') to list a group chat's or DM's members instead of a team's. \| [delete_message] ID of the chat containing the message. Provide either chat_id, or team_id + channel_id for a channel message. (string) |
|
|
39
39
|
| `--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) |
|
|
40
40
|
| `--team_id` | No | [send] Required if channel_type is 'teams_channel'. The team ID where the channel belongs. \| [list_channels] Associated team ID from list_teams. \| [list_channel_messages] Host team ID from the selected list_channels result (host_team_id). \| [list_channel_replies] Host team ID from the selected list_channels result (host_team_id). \| [download_attachment] Team ID (GUID) for a channel message; requires channel_id. \| [react] Team ID, for reacting to a channel message (together with channel_id). \| [list_members] ID of the team to list members of. Mutually exclusive with chat_id. \| [delete_message] Team ID, for deleting a channel message (together with channel_id). (string) |
|
|
41
41
|
| `--channel_id` | No | [send] Required if channel_type is 'teams_channel'. The channel ID within the team. \| [list_channel_messages] Channel ID from the same selected list_channels result. \| [list_channel_replies] Channel ID from the same selected list_channels result. \| [download_attachment] Channel ID ('19:…@thread.tacv2') for a channel message; requires team_id. \| [react] Channel ID, for reacting to a channel message (together with team_id). \| [delete_message] Channel ID, for deleting a channel message (together with team_id). (string) |
|
|
@@ -53,6 +53,12 @@ gsk teams [options]
|
|
|
53
53
|
| `--message_id` | No | [list_channel_replies] Root channel message ID whose replies should be listed. \| [download_attachment] The message ID holding the attachment (for a channel reply: the reply's own ID). \| [react] ID of the message to react to. \| [delete_message] ID of the message to delete. (string) |
|
|
54
54
|
| `--hosted_content_id` | No | [download_attachment] hostedContents item ID — for inline images pasted into the message. (string) |
|
|
55
55
|
| `--attachment_id` | No | [download_attachment] Attachment ID from the message's attachments list — for file attachments with a contentUrl. (string) |
|
|
56
|
+
| `--path` | No | [api] Graph resource path starting with '/', query string allowed, e.g. '/me/chats?$top=5'. Passed through verbatim — percent-encode segment values yourself. (string) |
|
|
57
|
+
| `--graph_version` | No | [api] Graph API version. Default v1.0; 'beta' is an explicit opt-in. (string, one of: v1.0, beta) |
|
|
58
|
+
| `--method` | No | [api] HTTP method. Default GET. Write methods are held for user confirmation before executing. (string, one of: GET, POST, PATCH, PUT, DELETE) |
|
|
59
|
+
| `--body` | No | [api] JSON request body for write methods (object or array, passed to Graph verbatim). Not allowed on GET. (string) |
|
|
60
|
+
| `--skip_confirmation` | No | [api] Skip the user-confirmation step for a write method. Only honored right after this tool returned pending_confirmation and the user confirmed. Default: false. (boolean) |
|
|
61
|
+
| `--auto_skip_confirmation` | No | [api] Internal: set by workflow nodes configured with skip_confirmation=true. Default: false. (boolean) |
|
|
56
62
|
| `--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', 'IsRead:false' • Date filters: prefer the ``since``/``until`` arguments; inline date ops ('sent>=2026-02-01 sent<=2026-03-05', 'sent:2026-02-01..2026-03-05') are also honored — both bounds are enforced • 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) |
|
|
57
63
|
| `--unread_only` | No | [search] Set to true to search for unread messages only. Default is false. (boolean) |
|
|
58
64
|
| `--question` | No | [search] A specific question to answer based on the search results. (string) |
|
|
@@ -64,10 +70,17 @@ gsk teams [options]
|
|
|
64
70
|
| `--reply_id` | No | [react] Optional: ID of a threaded reply under the channel message identified by message_id — reacts to that reply instead. Channel target only. \| [delete_message] Optional: ID of a threaded reply under the channel message identified by message_id — deletes that reply instead. Channel target only. (string) |
|
|
65
71
|
| `--reaction` | No | [react] The emoji to react with, as a unicode character (e.g. '👍', '❤️', '😂'). (string) |
|
|
66
72
|
| `--remove` | No | [react] Set true to remove your existing reaction of this emoji instead of adding it. Default: false. (boolean) |
|
|
73
|
+
| `--file_path` | No | [upload] File to upload: a local server file path, a Genspark file-wrapper URL (https://…/api/files/s/<code>), or an AI Drive path (aidrive://…). Provide exactly one of 'content' or 'file_path'. (string) |
|
|
74
|
+
| `--file_name` | No | [upload] File name shown in Teams (include the extension). Required with 'content'; defaults to the path basename for 'file_path'. (string) |
|
|
75
|
+
| `--message` | No | [upload] Optional message text posted together with the file card. (string) |
|
|
67
76
|
| `--display_name` | No | [create_team] Name of the new team. (string) |
|
|
68
77
|
| `--description` | No | [create_team] Optional team description. (string) |
|
|
69
78
|
| `--visibility` | No | [create_team] Team visibility. Default: 'private'. (string, one of: private, public) |
|
|
70
79
|
|
|
80
|
+
## Write Confirmation (double-call)
|
|
81
|
+
|
|
82
|
+
Write actions (send / create / update / delete / react / upload, and write methods through `api` where present) may be confirmation-gated. A response carrying `status: "pending_confirmation"` (or a similar needs-confirmation payload) is NOT a failure — it executes nothing and summarizes what would happen. To complete the write, re-run the IDENTICAL command: the pending record (15-minute TTL) is matched and the operation executes; success clears the record (a further identical call pends again) and a failed execution keeps it, so the retry arc stays open. Where the Flags table lists `--skip_confirmation` for an action, passing `--skip_confirmation true` right after a pending response is honored; gated actions without that flag complete ONLY via the double-call.
|
|
83
|
+
|
|
71
84
|
## See Also
|
|
72
85
|
|
|
73
86
|
- [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
|
|
@@ -36,6 +36,10 @@ gsk notion [options]
|
|
|
36
36
|
| `--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) |
|
|
37
37
|
| `--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) |
|
|
38
38
|
|
|
39
|
+
## Write Confirmation (double-call)
|
|
40
|
+
|
|
41
|
+
Write actions (send / create / update / delete / react / upload, and write methods through `api` where present) may be confirmation-gated. A response carrying `status: "pending_confirmation"` (or a similar needs-confirmation payload) is NOT a failure — it executes nothing and summarizes what would happen. To complete the write, re-run the IDENTICAL command: the pending record (15-minute TTL) is matched and the operation executes; success clears the record (a further identical call pends again) and a failed execution keeps it, so the retry arc stays open. Where the Flags table lists `--skip_confirmation` for an action, passing `--skip_confirmation true` right after a pending response is honored; gated actions without that flag complete ONLY via the double-call.
|
|
42
|
+
|
|
39
43
|
## See Also
|
|
40
44
|
|
|
41
45
|
- [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
|
|
@@ -50,6 +50,10 @@ gsk onedrive [options]
|
|
|
50
50
|
|
|
51
51
|
Parameters that accept URLs (`--onedrive_url`) also accept local file paths. The CLI automatically uploads local files before sending to the API.
|
|
52
52
|
|
|
53
|
+
## Write Confirmation (double-call)
|
|
54
|
+
|
|
55
|
+
Write actions (send / create / update / delete / react / upload, and write methods through `api` where present) may be confirmation-gated. A response carrying `status: "pending_confirmation"` (or a similar needs-confirmation payload) is NOT a failure — it executes nothing and summarizes what would happen. To complete the write, re-run the IDENTICAL command: the pending record (15-minute TTL) is matched and the operation executes; success clears the record (a further identical call pends again) and a failed execution keeps it, so the retry arc stays open. Where the Flags table lists `--skip_confirmation` for an action, passing `--skip_confirmation true` right after a pending response is honored; gated actions without that flag complete ONLY via the double-call.
|
|
56
|
+
|
|
53
57
|
## See Also
|
|
54
58
|
|
|
55
59
|
- [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
|
|
@@ -57,6 +57,7 @@ gsk outlook_calendar [options]
|
|
|
57
57
|
| `--auto_skip_confirmation` | No | [create] 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`) |
|
|
58
58
|
| `--is_all_day` | No | [create] Whether to create an all-day busy/block event. (boolean, default: `False`) |
|
|
59
59
|
| `--all_day` | No | [create] Alias for is_all_day. (boolean, default: `False`) |
|
|
60
|
+
| `--skip_conflict_check` | No | [create] Set true ONLY after the user has explicitly confirmed they want to book despite a conflict/warning surfaced by a prior needs_confirmation result. Leave false (default) normally. (boolean, default: `False`) |
|
|
60
61
|
| `--response` | No | [respond] RSVP value. 'accept' / 'decline' / 'tentative' (Yes / No / Maybe). When proposed_new_time is provided, this is forced to 'tentative' because Graph rejects counter-proposals on accept / decline. (string, one of: accept, decline, tentative) |
|
|
61
62
|
| `--comment` | No | [respond] Optional free-text comment shown to the organizer alongside the response. (string) |
|
|
62
63
|
| `--proposed_new_time` | No | [respond] Optional counter-proposal slot in '<START_ISO>..<END_ISO>' form (e.g. '2026-05-21T14:00:00-07:00..2026-05-21T14:30:00-07:00'). Forces response='tentative' — Graph rejects proposedNewTime on accept / decline. (string) |
|
|
@@ -66,6 +67,10 @@ gsk outlook_calendar [options]
|
|
|
66
67
|
| `--remove_attendees` | No | [modify] Remove these attendees from the existing list (case-insensitive email match). (array) |
|
|
67
68
|
| `--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`) |
|
|
68
69
|
|
|
70
|
+
## Write Confirmation (double-call)
|
|
71
|
+
|
|
72
|
+
Write actions (send / create / update / delete / react / upload, and write methods through `api` where present) may be confirmation-gated. A response carrying `status: "pending_confirmation"` (or a similar needs-confirmation payload) is NOT a failure — it executes nothing and summarizes what would happen. To complete the write, re-run the IDENTICAL command: the pending record (15-minute TTL) is matched and the operation executes; success clears the record (a further identical call pends again) and a failed execution keeps it, so the retry arc stays open. Where the Flags table lists `--skip_confirmation` for an action, passing `--skip_confirmation true` right after a pending response is honored; gated actions without that flag complete ONLY via the double-call.
|
|
73
|
+
|
|
69
74
|
## See Also
|
|
70
75
|
|
|
71
76
|
- [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
|
|
@@ -93,6 +93,10 @@ gsk outlook [options]
|
|
|
93
93
|
| `--conversation_id` | No | [group_reply] The ID of the conversation. Available from trigger data as 'conversation_id' or 'emails[0].conversation_id'. (string) |
|
|
94
94
|
| `--content` | No | [group_reply] The reply content. Can be plain text or HTML. This will be posted as a new message in the group conversation. (string) |
|
|
95
95
|
|
|
96
|
+
## Write Confirmation (double-call)
|
|
97
|
+
|
|
98
|
+
Write actions (send / create / update / delete / react / upload, and write methods through `api` where present) may be confirmation-gated. A response carrying `status: "pending_confirmation"` (or a similar needs-confirmation payload) is NOT a failure — it executes nothing and summarizes what would happen. To complete the write, re-run the IDENTICAL command: the pending record (15-minute TTL) is matched and the operation executes; success clears the record (a further identical call pends again) and a failed execution keeps it, so the retry arc stays open. Where the Flags table lists `--skip_confirmation` for an action, passing `--skip_confirmation true` right after a pending response is honored; gated actions without that flag complete ONLY via the double-call.
|
|
99
|
+
|
|
96
100
|
## See Also
|
|
97
101
|
|
|
98
102
|
- [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
|
|
@@ -69,14 +69,14 @@ gsk img "Enhance this" -i ./photo.png -o ./result.png
|
|
|
69
69
|
|
|
70
70
|
Use `-o` / `--output-file` to save generated results directly to a local file.
|
|
71
71
|
|
|
72
|
-
### Task agent export (`gsk task ... -o`)
|
|
72
|
+
### Task agent export (`gsk task create ... -o`)
|
|
73
73
|
|
|
74
|
-
For task agents (docs, slides, sheets), `-o`
|
|
74
|
+
For task agents (docs, slides, sheets), `-o` follows the run live (implies `--follow`) and exports to standard file formats once it completes:
|
|
75
75
|
|
|
76
76
|
```bash
|
|
77
|
-
gsk task docs --
|
|
78
|
-
gsk task slides --
|
|
79
|
-
gsk task sheets --
|
|
77
|
+
gsk task create docs --task_name "Project report" --query "Write a project report" --instructions "Formal tone" -o ./report.docx
|
|
78
|
+
gsk task create slides --task_name "Pitch deck" --query "Create a pitch deck" --instructions "10 slides" -o ./deck.pptx
|
|
79
|
+
gsk task create sheets --task_name "Budget tracker" --query "Build a budget tracker" --instructions "Monthly view" -o ./budget.xlsx
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
| Task Type | Default Export Format |
|
|
@@ -55,6 +55,10 @@ gsk sharepoint [options]
|
|
|
55
55
|
|
|
56
56
|
Parameters that accept URLs (`--sharepoint_url`) also accept local file paths. The CLI automatically uploads local files before sending to the API.
|
|
57
57
|
|
|
58
|
+
## Write Confirmation (double-call)
|
|
59
|
+
|
|
60
|
+
Write actions (send / create / update / delete / react / upload, and write methods through `api` where present) may be confirmation-gated. A response carrying `status: "pending_confirmation"` (or a similar needs-confirmation payload) is NOT a failure — it executes nothing and summarizes what would happen. To complete the write, re-run the IDENTICAL command: the pending record (15-minute TTL) is matched and the operation executes; success clears the record (a further identical call pends again) and a failed execution keeps it, so the retry arc stays open. Where the Flags table lists `--skip_confirmation` for an action, passing `--skip_confirmation true` right after a pending response is honored; gated actions without that flag complete ONLY via the double-call.
|
|
61
|
+
|
|
58
62
|
## See Also
|
|
59
63
|
|
|
60
64
|
- [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
|
|
@@ -30,7 +30,7 @@ gsk slack [options]
|
|
|
30
30
|
| Flag | Required | Description |
|
|
31
31
|
|------|----------|-------------|
|
|
32
32
|
| `<action>` (positional) | Yes | Action to perform. 'send': Send a message to a channel or user; 'search': Search messages by keyword; 'read': Read recent message history of a channel (or one thread); 'lookup': Look up users, channels, or groups; 'react': Emoji-react to a message (or remove your reaction); 'upload': Upload a file into a channel, group, or DM; 'update': Edit one of the user's own messages; 'delete': Delete one of the user's own messages; 'permalink': Get the permanent link for a message; 'connect_invites': List pending Slack Connect shared-channel invites (workspace owner/admin only); 'connect_approve': Approve a pending Slack Connect shared-channel invite by invite ID (workspace owner/admin only); 'connect_decline': Decline a pending Slack Connect shared-channel invite by invite ID (workspace owner/admin only) (string, one of: send, search, read, lookup, react, upload, update, delete, permalink, connect_invites, connect_approve, connect_decline) |
|
|
33
|
-
| `--message` | No | [send] The message content to send. Supports Slack markdown formatting. (string) |
|
|
33
|
+
| `--message` | No | [send] The message content to send. Supports Slack markdown formatting. To @mention someone, embed '<@USER_ID>' (e.g. '<@U01234567>') in the text — a plain '@Name' renders as literal text and notifies nobody. User IDs come from the lookup action. (string) |
|
|
34
34
|
| `--recipient` | No | [send] Optional recipient: 'self' (default), channel ID (e.g., 'C01234567'), or user ID (e.g., 'U01234567'). If not specified, sends to yourself. (string) |
|
|
35
35
|
| `--title` | No | [send] Optional title for the message. If provided, creates a rich formatted message with a header. \| [upload] Optional title shown on the Slack file card. Defaults to the file name. (string) |
|
|
36
36
|
| `--fields` | No | [send] Optional array of field objects with 'title' and 'value' keys to create a structured message layout. (array) |
|
|
@@ -52,10 +52,16 @@ gsk slack [options]
|
|
|
52
52
|
| `--file_path` | No | [upload] File to upload: a local server file path, a Genspark file-wrapper URL (https://…/api/files/s/<code>), or an AI Drive path (aidrive://…). Provide exactly one of 'content' or 'file_path'. (string) |
|
|
53
53
|
| `--file_name` | No | [upload] File name shown in Slack (include the extension, e.g. 'report.pdf'). Required with 'content'; defaults to the path basename for 'file_path'. (string) |
|
|
54
54
|
| `--initial_comment` | No | [upload] Optional message text posted together with the file. (string) |
|
|
55
|
+
| `--skip_confirmation` | No | [update] Skip the user-confirmation step. Only honored right after this tool returned pending_confirmation and the user confirmed. Default: false. \| [delete] Skip the user-confirmation step. Only honored right after this tool returned pending_confirmation and the user confirmed. Default: false. \| [connect_approve] Skip the user-confirmation step. Only honored right after this tool returned pending_confirmation and the user confirmed. Default: false. \| [connect_decline] Skip the user-confirmation step. Only honored right after this tool returned pending_confirmation and the user confirmed. Default: false. (boolean) |
|
|
56
|
+
| `--auto_skip_confirmation` | No | [update] Internal: set by workflow nodes configured with skip_confirmation=true. Default: false. \| [delete] Internal: set by workflow nodes configured with skip_confirmation=true. Default: false. \| [connect_approve] Internal: set by workflow nodes configured with skip_confirmation=true. Default: false. \| [connect_decline] Internal: set by workflow nodes configured with skip_confirmation=true. Default: false. (boolean) |
|
|
55
57
|
| `--text` | No | [update] The full replacement text (mrkdwn) — Slack replaces the whole message body, not a diff. (string) |
|
|
56
58
|
| `--invite_id` | No | [connect_approve] The Slack Connect invite ID (e.g. 'I…'), from the connect_invites list. \| [connect_decline] The Slack Connect invite ID (e.g. 'I…'), from the connect_invites list. (string) |
|
|
57
59
|
| `--target_team` | No | [connect_approve] Optional team/enterprise ID of the other party in the invitation. \| [connect_decline] Optional team/enterprise ID of the other party in the invitation. (string) |
|
|
58
60
|
|
|
61
|
+
## Write Confirmation (double-call)
|
|
62
|
+
|
|
63
|
+
Write actions (send / create / update / delete / react / upload, and write methods through `api` where present) may be confirmation-gated. A response carrying `status: "pending_confirmation"` (or a similar needs-confirmation payload) is NOT a failure — it executes nothing and summarizes what would happen. To complete the write, re-run the IDENTICAL command: the pending record (15-minute TTL) is matched and the operation executes; success clears the record (a further identical call pends again) and a failed execution keeps it, so the retry arc stays open. Where the Flags table lists `--skip_confirmation` for an action, passing `--skip_confirmation true` right after a pending response is honored; gated actions without that flag complete ONLY via the double-call.
|
|
64
|
+
|
|
59
65
|
## See Also
|
|
60
66
|
|
|
61
67
|
- [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsk-task-artifacts
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: List a task's produced artifacts (files, rendered exports, generated
|
|
5
|
+
media) as downloadable URLs, plus the exportable formats for docs/slides/sheets
|
|
6
|
+
deliverables.
|
|
7
|
+
metadata:
|
|
8
|
+
category: general
|
|
9
|
+
requires:
|
|
10
|
+
bins:
|
|
11
|
+
- gsk
|
|
12
|
+
cliHelp: gsk task artifacts --help
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# gsk-task-artifacts
|
|
16
|
+
|
|
17
|
+
**PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
|
|
18
|
+
|
|
19
|
+
List a task's produced artifacts (files, rendered exports, generated media) as downloadable URLs, plus the exportable formats for docs/slides/sheets deliverables.
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
gsk task artifacts [options]
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Flags
|
|
28
|
+
|
|
29
|
+
| Flag | Required | Description |
|
|
30
|
+
|------|----------|-------------|
|
|
31
|
+
| `<project_id>` (positional) | Yes | The task's project_id (from the blocking run's response, or from `gsk task status <run_id>` once an async submit started executing). (string) |
|
|
32
|
+
|
|
33
|
+
## See Also
|
|
34
|
+
|
|
35
|
+
- [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsk-task-continue
|
|
3
3
|
version: 1.0.0
|
|
4
|
-
description:
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
description: Send a follow-up instruction to an existing task project — use this to
|
|
5
|
+
edit, revise, extend, or converse with a task's deliverable (e.g. 'add a slide on
|
|
6
|
+
pricing', 'shorten the intro') instead of `task create`, which mints and bills a
|
|
7
|
+
brand-new task. Works for any task type (slides, docs, sheets, deep_research, website,
|
|
8
|
+
super_agent, ...). The project must belong to you or be shared with you with edit
|
|
9
|
+
(write) permission. Submits and returns immediately by default (poll `task status`);
|
|
10
|
+
pass wait=true for the legacy blocking run.
|
|
11
11
|
metadata:
|
|
12
12
|
category: general
|
|
13
13
|
requires:
|
|
@@ -20,7 +20,7 @@ metadata:
|
|
|
20
20
|
|
|
21
21
|
**PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
Send a follow-up instruction to an existing task project — use this to edit, revise, extend, or converse with a task's deliverable (e.g. 'add a slide on pricing', 'shorten the intro') instead of `task create`, which mints and bills a brand-new task. Works for any task type (slides, docs, sheets, deep_research, website, super_agent, ...). The project must belong to you or be shared with you with edit (write) permission. Submits and returns immediately by default (poll `task status`); pass wait=true for the legacy blocking run.
|
|
24
24
|
|
|
25
25
|
## Usage
|
|
26
26
|
|
|
@@ -32,8 +32,11 @@ gsk task_continue [options]
|
|
|
32
32
|
|
|
33
33
|
| Flag | Required | Description |
|
|
34
34
|
|------|----------|-------------|
|
|
35
|
-
| `<project_id>` (positional) | Yes | The project_id
|
|
36
|
-
| `-m`, `--message` | Yes | The follow-up instruction to send to the task agent — state concretely what to change, add, or redo. The agent already has the project's own history
|
|
35
|
+
| `<project_id>` (positional) | Yes | The task's project_id — from `gsk task status <run_id>` once an async submit started executing, or data.project_id of a blocking (--wait true) run. (string) |
|
|
36
|
+
| `-m`, `--message` | Yes | The follow-up instruction to send to the task agent — state concretely what to change, add, or redo. The agent already has the project's own history. For Design, pass NEW references in attachments (the CLI --image/--file flags build these automatically). (string) |
|
|
37
|
+
| `-last-seen-revision`, `--last_seen_revision` | No | Optional optimistic-concurrency token from task_status. For Design projects the update is rejected when it is already stale before the continuation starts. (string) |
|
|
38
|
+
| `--attachments` | No | Ordered new references for a Design continuation. They are appended only after last_seen_revision passes. (array) |
|
|
39
|
+
| `--wait` | No | Default false: the follow-up is SUBMITTED to the durable runtime and this call returns immediately with its run_id — poll `gsk task status <run_id>`. Pass true to block until the turn completes and get the full result inline (legacy behavior; can take minutes, so set your shell timeout to 1800000 ms). (boolean) |
|
|
37
40
|
|
|
38
41
|
## See Also
|
|
39
42
|
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsk-task-info
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: 'Read a task''s execution output: recent activity (messages including
|
|
5
|
+
tool usage), current state, and extracted result artifacts — mid-run or after completion.
|
|
6
|
+
Use `task status` for cheap polling; use this when you need the content.'
|
|
7
|
+
metadata:
|
|
8
|
+
category: general
|
|
9
|
+
requires:
|
|
10
|
+
bins:
|
|
11
|
+
- gsk
|
|
12
|
+
cliHelp: gsk task info --help
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# gsk-task-info
|
|
16
|
+
|
|
17
|
+
**PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
|
|
18
|
+
|
|
19
|
+
Read a task's execution output: recent activity (messages including tool usage), current state, and extracted result artifacts — mid-run or after completion. Use `task status` for cheap polling; use this when you need the content.
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
gsk task info [options]
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Flags
|
|
28
|
+
|
|
29
|
+
| Flag | Required | Description |
|
|
30
|
+
|------|----------|-------------|
|
|
31
|
+
| `<project_id>` (positional) | Yes | The task's project_id (from the blocking run's response, or from `gsk task status <run_id>` once an async submit started executing). (string) |
|
|
32
|
+
| `-n`, `--limit` | No | How many recent activity entries to return (default 10, max 50). (integer) |
|
|
33
|
+
|
|
34
|
+
## See Also
|
|
35
|
+
|
|
36
|
+
- [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
|