@genspark/cli 1.0.7 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +114 -5
  2. package/dist/index.js +172 -3
  3. package/dist/index.js.map +1 -1
  4. package/docs/skills.md +38 -0
  5. package/package.json +4 -3
  6. package/skills/gsk-aidrive/SKILL.md +53 -0
  7. package/skills/gsk-analyze-media/SKILL.md +42 -0
  8. package/skills/gsk-audio-generation/SKILL.md +52 -0
  9. package/skills/gsk-audio-transcribe/SKILL.md +42 -0
  10. package/skills/gsk-calendar-create/SKILL.md +42 -0
  11. package/skills/gsk-calendar-list/SKILL.md +36 -0
  12. package/skills/gsk-crawler/SKILL.md +39 -0
  13. package/skills/gsk-create-task/SKILL.md +42 -0
  14. package/skills/gsk-email-list/SKILL.md +38 -0
  15. package/skills/gsk-email-read/SKILL.md +34 -0
  16. package/skills/gsk-email-search/SKILL.md +39 -0
  17. package/skills/gsk-email-send/SKILL.md +41 -0
  18. package/skills/gsk-get-service-url/SKILL.md +39 -0
  19. package/skills/gsk-image-generation/SKILL.md +48 -0
  20. package/skills/gsk-image-search/SKILL.md +36 -0
  21. package/skills/gsk-meeting-get/SKILL.md +34 -0
  22. package/skills/gsk-meeting-list/SKILL.md +34 -0
  23. package/skills/gsk-meeting-search/SKILL.md +39 -0
  24. package/skills/gsk-phone-call/SKILL.md +41 -0
  25. package/skills/gsk-shared/SKILL.md +177 -0
  26. package/skills/gsk-social-instagram/SKILL.md +42 -0
  27. package/skills/gsk-social-reddit/SKILL.md +41 -0
  28. package/skills/gsk-social-twitter/SKILL.md +43 -0
  29. package/skills/gsk-stock-price/SKILL.md +35 -0
  30. package/skills/gsk-summarize-large-document/SKILL.md +41 -0
  31. package/skills/gsk-understand-images/SKILL.md +41 -0
  32. package/skills/gsk-video-generation/SKILL.md +53 -0
  33. package/skills/gsk-vm-email-send/SKILL.md +39 -0
  34. package/skills/gsk-web-search/SKILL.md +35 -0
  35. package/AVAILABLE_MODELS.md +0 -96
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: gsk-meeting-search
3
+ version: 1.0.0
4
+ description: Search meeting notes by keyword using full-text search.
5
+ metadata:
6
+ category: meeting
7
+ requires:
8
+ bins:
9
+ - gsk
10
+ cliHelp: gsk meeting search --help
11
+ ---
12
+
13
+ # gsk-meeting-search
14
+
15
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
16
+
17
+ Search meeting notes by keyword using full-text search.
18
+
19
+ ## Usage
20
+
21
+ ```bash
22
+ gsk meeting search [options]
23
+ ```
24
+
25
+ ## Flags
26
+
27
+ | Flag | Required | Description |
28
+ |------|----------|-------------|
29
+ | `<keyword>` (positional) | Yes | Search term to find in meeting notes. (string) |
30
+ | `--date_from` | No | Filter meetings after this date (ISO format: YYYY-MM-DD). (string) |
31
+ | `--date_to` | No | Filter meetings before this date (ISO format: YYYY-MM-DD). (string) |
32
+ | `--meeting_source` | No | Filter by calendar source. (string, one of: google, outlook) |
33
+ | `-n`, `--page_size` | No | Number of results per page. Default: 20. Max: 50. (integer) |
34
+ | `-s`, `--sort_by` | No | Sort order. 'relevance' for best match first, 'created_at' for newest first (default). (string, one of: created_at, relevance) |
35
+ | `--page` | No | Page number (0-indexed). Use with has_more to paginate results. Default: 0. (integer) |
36
+
37
+ ## See Also
38
+
39
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: gsk-phone-call
3
+ version: 1.0.0
4
+ description: Create an AI phone call card. Validates user prerequisites (membership,
5
+ phone setup, credits) and resolves contact information. For business contacts, looks
6
+ up Google Maps place data. For personal contacts, validates and normalizes the phone
7
+ number.
8
+ metadata:
9
+ category: general
10
+ requires:
11
+ bins:
12
+ - gsk
13
+ cliHelp: gsk phone_call --help
14
+ ---
15
+
16
+ # gsk-phone-call
17
+
18
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
19
+
20
+ Create an AI phone call card. Validates user prerequisites (membership, phone setup, credits) and resolves contact information. For business contacts, looks up Google Maps place data. For personal contacts, validates and normalizes the phone number.
21
+
22
+ ## Usage
23
+
24
+ ```bash
25
+ gsk phone_call [options]
26
+ ```
27
+
28
+ ## Flags
29
+
30
+ | Flag | Required | Description |
31
+ |------|----------|-------------|
32
+ | `<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) |
33
+ | `-c`, `--contact_info` | Yes | Contact information - either a Google Maps place_id OR a phone number: **For businesses (is_place_id=true):** - Provide Google Maps place_id (e.g., 'ChIJcawkWTyuEmsRG56o5LAc0LQ') - Must be obtained from previous maps_search results - NEVER fabricate or guess place_id values **For personal contacts (is_place_id=false):** - Provide phone number with international country code - Format: '+1-555-123-4567' (US), '+44-20-1234-5678' (UK) - If no country code, defaults to US (+1) - MUST have verified data lineage from: (1) user-provided info, (2) previous tool results, or (3) explicit context - NEVER fabricate, generate, estimate, or infer phone numbers (string) |
34
+ | `--is_place_id` | Yes | Indicates the type of contact_info provided: - true: contact_info is a Google Maps place_id (business) - false: contact_info is a phone number (personal contact) (boolean) |
35
+ | `-p`, `--purpose` | Yes | The clear reason for making the call (e.g., 'Check reservation availability', 'Inquire about business hours'). (string) |
36
+
37
+ > **CAUTION:** This command performs a write/send operation. Double-check parameters before executing.
38
+
39
+ ## See Also
40
+
41
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,177 @@
1
+ ---
2
+ name: gsk-shared
3
+ version: 1.0.0
4
+ description: "Shared foundation: authentication, global flags, output conventions, and security rules for all GSK CLI skills."
5
+ metadata:
6
+ category: foundation
7
+ requires:
8
+ bins:
9
+ - gsk
10
+ ---
11
+
12
+ # GSK CLI — Shared Foundation
13
+
14
+ **PREREQUISITE:** Every GSK skill assumes this document has been read first.
15
+
16
+ ## Installation
17
+
18
+ ```bash
19
+ npm install -g @genspark/cli
20
+ ```
21
+
22
+ Requires Node.js >= 18.
23
+
24
+ ## Authentication
25
+
26
+ ```bash
27
+ # Log in via browser (saves API key to ~/.genspark-tool-cli/config.json)
28
+ gsk login
29
+
30
+ # Or provide an API key directly
31
+ export GSK_API_KEY="gsk_..."
32
+
33
+ # Check current identity
34
+ gsk me
35
+ ```
36
+
37
+ ## Global Flags
38
+
39
+ | Flag | Env Var | Default | Description |
40
+ |------|---------|---------|-------------|
41
+ | `--api-key <key>` | `GSK_API_KEY` | — | API key (required) |
42
+ | `--base-url <url>` | `GSK_BASE_URL` | `https://www.genspark.ai` | API base URL |
43
+ | `--project-id <id>` | `GSK_PROJECT_ID` | — | Project ID for access control |
44
+ | `--debug` | — | `false` | Enable debug output |
45
+ | `--timeout <ms>` | — | `300000` | Request timeout (5 min default) |
46
+ | `--output <format>` | — | `json` | Output format: `json` or `text` |
47
+ | `--refresh` | — | — | Force refresh cached tool schemas |
48
+
49
+ ## Output Conventions
50
+
51
+ | Stream | Content | Consumer |
52
+ |--------|---------|----------|
53
+ | **stdout** | JSON result | Programs / AI agents |
54
+ | **stderr** | Progress, debug, error messages | Human / logs |
55
+
56
+ Always parse stdout as JSON. Use `--output text` for human-readable output.
57
+
58
+ ## Local File Handling
59
+
60
+ Most commands that accept URLs also accept local file paths. The CLI automatically uploads local files before passing them to the API:
61
+
62
+ ```bash
63
+ gsk analyze "Describe this" -i ./photo.jpg
64
+ gsk img "Enhance this" -i ./photo.png -o ./result.png
65
+ ```
66
+
67
+ Use `-o` / `--output-file` to save generated results directly to a local file.
68
+
69
+ ## Configuration Priority
70
+
71
+ 1. **CLI options** (highest)
72
+ 2. **Environment variables**
73
+ 3. **Config file** (`~/.genspark-tool-cli/config.json`)
74
+
75
+ ## Security Rules
76
+
77
+ - Never expose your API key in shared scripts or logs.
78
+ - Use `--project-id` for access control when sharing resources.
79
+ - The CLI auto-updates every 4 hours. Disable with `GSK_NO_AUTO_UPDATE=1`.
80
+
81
+ ## Built-in Commands
82
+
83
+ These commands are implemented in the CLI frontend and have no backend adaptor.
84
+
85
+ ### list-tools
86
+
87
+ List all available tools.
88
+
89
+ ```bash
90
+ gsk list-tools # or: gsk ls
91
+ ```
92
+
93
+ ### upload
94
+
95
+ Upload a local file and get a file wrapper URL for use in other commands.
96
+
97
+ ```bash
98
+ gsk upload ./image.png
99
+ gsk upload ./document.pdf
100
+ ```
101
+
102
+ Returns a JSON object with `upload_url` and `file_wrapper_url`.
103
+
104
+ ### download
105
+
106
+ Download a file from a file wrapper URL.
107
+
108
+ ```bash
109
+ # Get download URL only
110
+ gsk download "/api/files/s/abc123"
111
+
112
+ # Download and save to local file
113
+ gsk download "/api/files/s/abc123" -s ./downloaded.png
114
+ ```
115
+
116
+ | Flag | Description |
117
+ |------|-------------|
118
+ | `-s, --save <path>` | Download and save to local file path |
119
+
120
+ ### init-opencode
121
+
122
+ Generate an `.opencode.json` config file for [OpenCode](https://opencode.ai), pre-configured to use Genspark's LLM proxy.
123
+
124
+ ```bash
125
+ gsk init-opencode
126
+ gsk init-opencode --model claude-sonnet-4-6
127
+ gsk init-opencode -o ./my-project/.opencode.json
128
+ ```
129
+
130
+ | Flag | Default | Description |
131
+ |------|---------|-------------|
132
+ | `--model <name>` | `claude-opus-4-6-1m` | Default model for OpenCode |
133
+ | `-o, --out <path>` | `.opencode.json` | Output file path |
134
+
135
+ ### init-skills
136
+
137
+ Sync GSK skill documents into the current project for AI agent discovery. Generates a `CONTEXT.md` entry point and optionally agent-specific config files.
138
+
139
+ ```bash
140
+ # Copy skills to .gsk/skills/ and generate CONTEXT.md
141
+ gsk init-skills
142
+
143
+ # Also generate .claude/ config for Claude Code
144
+ gsk init-skills --agent claude
145
+
146
+ # Generate config for all supported agents
147
+ gsk init-skills --agent all
148
+
149
+ # Custom output directory
150
+ gsk init-skills -o ./docs/gsk-skills
151
+ ```
152
+
153
+ | Flag | Default | Description |
154
+ |------|---------|-------------|
155
+ | `-o, --out <dir>` | `.gsk/skills` | Output directory for skills |
156
+ | `--agent <type>` | — | Generate agent config: `claude`, `gemini`, or `all` |
157
+
158
+ **Generated files:**
159
+ - `CONTEXT.md` — Universal agent entry point listing all available skills
160
+ - `.claude/settings.json` — Claude Code context includes (when `--agent claude`)
161
+ - `gemini-extension.json` — Gemini extension config (when `--agent gemini`)
162
+
163
+ ### AI Drive: local file upload
164
+
165
+ The `gsk drive upload` command supports streaming local files directly to AI Drive via `--local_file`. This is a CLI-only feature (not in the backend API).
166
+
167
+ ```bash
168
+ # Upload a local file to AI Drive (streaming, supports 100MB+ files)
169
+ gsk drive upload --local_file ./report.pdf --upload_path /docs/report.pdf
170
+ gsk drive upload --local_file ./photo.png # defaults to /photo.png
171
+ gsk drive upload --local_file ./doc.pdf --upload_path /docs/doc.pdf --override
172
+ ```
173
+
174
+ | Flag | Description |
175
+ |------|-------------|
176
+ | `--local_file <path>` | Local file path to upload (streaming, no size limit) |
177
+ | `--override` | Overwrite existing file at the destination path |
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: gsk-social-instagram
3
+ version: 1.0.0
4
+ description: 'Search and retrieve data from Instagram: posts, users, comments, and
5
+ connections.'
6
+ metadata:
7
+ category: social
8
+ requires:
9
+ bins:
10
+ - gsk
11
+ cliHelp: gsk social instagram --help
12
+ ---
13
+
14
+ # gsk-social-instagram
15
+
16
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
17
+
18
+ Search and retrieve data from Instagram: posts, users, comments, and connections.
19
+
20
+ ## Usage
21
+
22
+ ```bash
23
+ gsk social instagram [options]
24
+ ```
25
+
26
+ ## Flags
27
+
28
+ | Flag | Required | Description |
29
+ |------|----------|-------------|
30
+ | `<action>` (positional) | Yes | The action to perform. (string, one of: search_posts, search_users, get_posts_by_user, get_posts_by_ids, get_user, get_user_connections, get_users_by_keywords, get_comments, get_post_interacting_users) |
31
+ | `-q`, `--query` | No | Search query or username/identifier. Used by: search_posts, search_users (as name), get_posts_by_user (as identifier), get_user (as identifier), get_users_by_keywords. (string) |
32
+ | `-p`, `--post_id` | No | Post ID. Used by: get_comments, get_post_interacting_users. (string) |
33
+ | `--post_ids` | No | Comma-separated post IDs. Used by: get_posts_by_ids. (string) |
34
+ | `--connection_type` | No | Connection type for get_user_connections. (string, one of: followers, following) |
35
+ | `--interaction_type` | No | Interaction type for get_post_interacting_users. (string, one of: likers, commenters) |
36
+ | `--start_date` | No | Start date filter (YYYY-MM-DD). (string) |
37
+ | `--end_date` | No | End date filter (YYYY-MM-DD). (string) |
38
+ | `--limit` | No | Max number of results (for search_users). (integer) |
39
+
40
+ ## See Also
41
+
42
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: gsk-social-reddit
3
+ version: 1.0.0
4
+ description: 'Search and retrieve data from Reddit: posts, comments, users, and subreddits.'
5
+ metadata:
6
+ category: social
7
+ requires:
8
+ bins:
9
+ - gsk
10
+ cliHelp: gsk social reddit --help
11
+ ---
12
+
13
+ # gsk-social-reddit
14
+
15
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
16
+
17
+ Search and retrieve data from Reddit: posts, comments, users, and subreddits.
18
+
19
+ ## Usage
20
+
21
+ ```bash
22
+ gsk social reddit [options]
23
+ ```
24
+
25
+ ## Flags
26
+
27
+ | Flag | Required | Description |
28
+ |------|----------|-------------|
29
+ | `<action>` (positional) | Yes | The action to perform. (string, one of: search_posts, search_comments, search_users, search_subreddits, get_post_with_comments, get_subreddit_with_posts, get_subreddits_by_keywords, get_user, get_users_by_keywords) |
30
+ | `-q`, `--query` | No | Search query string. Used by: search_posts, search_comments, search_users (as name), search_subreddits, get_subreddits_by_keywords, get_user (as username), get_users_by_keywords, get_subreddit_with_posts (as subreddit name), get_post_with_comments (as post_id). (string) |
31
+ | `-p`, `--post_id` | No | Post ID. Used by: get_post_with_comments. (string) |
32
+ | `-s`, `--subreddit` | No | Subreddit name filter for search_posts, search_comments, get_users_by_keywords. (string) |
33
+ | `--sort` | No | Sort order for search_posts. (string, one of: relevance, hot, top, new, comments) |
34
+ | `--time` | No | Time filter for search_posts. (string, one of: hour, day, week, month, year, all) |
35
+ | `--start_date` | No | Start date filter (YYYY-MM-DD). (string) |
36
+ | `--end_date` | No | End date filter (YYYY-MM-DD). (string) |
37
+ | `--limit` | No | Max number of results (for search_users, search_subreddits). (integer) |
38
+
39
+ ## See Also
40
+
41
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: gsk-social-twitter
3
+ version: 1.0.0
4
+ description: 'Search and retrieve data from Twitter/X: posts, users, comments, retweets,
5
+ and more.'
6
+ metadata:
7
+ category: social
8
+ requires:
9
+ bins:
10
+ - gsk
11
+ cliHelp: gsk social twitter --help
12
+ ---
13
+
14
+ # gsk-social-twitter
15
+
16
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
17
+
18
+ Search and retrieve data from Twitter/X: posts, users, comments, retweets, and more.
19
+
20
+ ## Usage
21
+
22
+ ```bash
23
+ gsk social twitter [options]
24
+ ```
25
+
26
+ ## Flags
27
+
28
+ | Flag | Required | Description |
29
+ |------|----------|-------------|
30
+ | `<action>` (positional) | Yes | The action to perform. (string, one of: search_posts, search_users, get_posts_by_author, get_posts_by_ids, get_user, get_user_connections, get_users_by_keywords, get_comments, get_quotes, get_retweets, get_post_interacting_users, count_posts) |
31
+ | `-q`, `--query` | No | Search query string. Used by: search_posts, search_users (as name), get_users_by_keywords, get_posts_by_author (as identifier/handle), get_user (as identifier/username), count_posts (as phrase). (string) |
32
+ | `-p`, `--post_id` | No | Tweet/post ID. Used by: get_comments, get_quotes, get_retweets, get_post_interacting_users. (string) |
33
+ | `--post_ids` | No | Comma-separated tweet IDs. Used by: get_posts_by_ids. (string) |
34
+ | `--connection_type` | No | Connection type for get_user_connections. (string, one of: followers, following) |
35
+ | `--interaction_type` | No | Interaction type for get_post_interacting_users. (string, one of: commenters, quoters, retweeters) |
36
+ | `--start_date` | No | Start date filter (YYYY-MM-DD). (string) |
37
+ | `--end_date` | No | End date filter (YYYY-MM-DD). (string) |
38
+ | `--language` | No | Language filter (e.g. 'en', 'zh'). (string) |
39
+ | `--limit` | No | Max number of results (for search_users). (integer) |
40
+
41
+ ## See Also
42
+
43
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: gsk-stock-price
3
+ version: 1.0.0
4
+ description: Retrieve real-time stock price information for a specific company.
5
+ metadata:
6
+ category: general
7
+ requires:
8
+ bins:
9
+ - gsk
10
+ cliHelp: gsk stock --help
11
+ ---
12
+
13
+ # gsk-stock-price
14
+
15
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
16
+
17
+ Retrieve real-time stock price information for a specific company.
18
+
19
+ ## Usage
20
+
21
+ ```bash
22
+ gsk stock [options]
23
+ ```
24
+
25
+ **Aliases:** `stock_price`, `stock`
26
+
27
+ ## Flags
28
+
29
+ | Flag | Required | Description |
30
+ |------|----------|-------------|
31
+ | `<symbol>` (positional) | Yes | The stock ticker symbol of the company (e.g., 'AAPL' for Apple, 'MSFT' for Microsoft). (string) |
32
+
33
+ ## See Also
34
+
35
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: gsk-summarize-large-document
3
+ version: 1.0.0
4
+ description: Analyze and answer questions about large documents (PDFs, web pages,
5
+ Word docs, etc.).
6
+ metadata:
7
+ category: general
8
+ requires:
9
+ bins:
10
+ - gsk
11
+ cliHelp: gsk summarize --help
12
+ ---
13
+
14
+ # gsk-summarize-large-document
15
+
16
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
17
+
18
+ Analyze and answer questions about large documents (PDFs, web pages, Word docs, etc.).
19
+
20
+ ## Usage
21
+
22
+ ```bash
23
+ gsk summarize [options]
24
+ ```
25
+
26
+ **Aliases:** `summarize_large_document`, `summarize`
27
+
28
+ ## Flags
29
+
30
+ | Flag | Required | Description |
31
+ |------|----------|-------------|
32
+ | `<url>` (positional) | Yes | URL of the document to be fetched and analyzed (string) |
33
+ | `--question` | Yes | Specific question about the document content (string) |
34
+
35
+ ## Local File Support
36
+
37
+ Parameters that accept URLs (`<url>`) also accept local file paths. The CLI automatically uploads local files before sending to the API.
38
+
39
+ ## See Also
40
+
41
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: gsk-understand-images
3
+ version: 1.0.0
4
+ description: Analyze and understand images. Supports multiple images and custom analysis
5
+ instructions.
6
+ metadata:
7
+ category: general
8
+ requires:
9
+ bins:
10
+ - gsk
11
+ cliHelp: gsk analyze --help
12
+ ---
13
+
14
+ # gsk-understand-images
15
+
16
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
17
+
18
+ Analyze and understand images. Supports multiple images and custom analysis instructions.
19
+
20
+ ## Usage
21
+
22
+ ```bash
23
+ gsk analyze [options]
24
+ ```
25
+
26
+ **Aliases:** `understand_images`, `analyze`
27
+
28
+ ## Flags
29
+
30
+ | Flag | Required | Description |
31
+ |------|----------|-------------|
32
+ | `-i`, `--image_urls` | Yes | (array) |
33
+ | `-r`, `--instruction` | Yes | Detailed instructions for image analysis, specifying: 1) What aspects of the images to analyze (e.g., objects, text, style, context), 2) How to analyze them (e.g., focus on specific details, compare elements), 3) What specific information to extract (e.g., key objects, text content, visual elements), and 4) Any particular context or perspective to consider during analysis. (string) |
34
+
35
+ ## Local File Support
36
+
37
+ Parameters that accept URLs (`--image_urls`) also accept local file paths. The CLI automatically uploads local files before sending to the API.
38
+
39
+ ## See Also
40
+
41
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: gsk-video-generation
3
+ version: 1.0.0
4
+ description: Generate videos using AI models. Supports text-to-video and image-to-video
5
+ generation.
6
+ metadata:
7
+ category: general
8
+ requires:
9
+ bins:
10
+ - gsk
11
+ cliHelp: gsk video --help
12
+ ---
13
+
14
+ # gsk-video-generation
15
+
16
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
17
+
18
+ Generate videos using AI models. Supports text-to-video and image-to-video generation.
19
+
20
+ ## Usage
21
+
22
+ ```bash
23
+ gsk video [options]
24
+ ```
25
+
26
+ **Aliases:** `video_generation`, `video`
27
+
28
+ ## Flags
29
+
30
+ | Flag | Required | Description |
31
+ |------|----------|-------------|
32
+ | `<query>` (positional) | Yes | Detailed description of the video to generate. duration is recommended to be 5 ~ 10 seconds. For image-to-image transitions (user provides start and end frames) e.g., 'A timelapse of a flower blooming in a garden'. (string) |
33
+ | `--file_name` | No | The name of the video to generate. (string, null) |
34
+ | `-m`, `--model` | Yes | The model to use for video generation. kling/v3: Latest Kling V3 with audio. Pro/Standard quality modes. Supported ratios: 16:9, 9:16, 1:1. Duration: 3-15s. gemini/veo3.1: Gemini Veo 3.1 - Latest version with enhanced quality and features. Supports text-to-video and image-to-video generation with improved quality. Duration: 8s. Supported ratios: 16:9, 9:16. Supports fast_mode (faster generation) and hd_mode (1080p quality). gemini/veo3.1/reference-to-video: Gemini Veo 3.1 Reference-to-Video mode. Generate video using multiple reference images to guide the generation. Requires 1+ reference images. Duration: 8s. Supported ratios: 16:9, 9:16. Supports fast_mode and hd_mode options. gemini/veo3.1/first-last-frame-to-video: Veo 3.1 First-Last Frame mode. Generate video by specifying first and last frames for precise transitions. Requires exactly 2 images. Duration: 8s. Supported ratios: 16:9, 9:16. Supports fast_mode and hd_mode options.minimax/hailuo-2.3/standard: MiniMax Hailuo-2.3 Standard model for high-quality video generation. Supports both text-to-video and image-to-video generation with improved quality. Supports first & last frame control for precise video transitions. Fast generation (about 4min one video), cost-effective option. Supported ratios: 16:9, 9:16. Duration: 6s, 10swan/v2.6: Latest Wan model with 1080p support and audio integration. Supports text-to-video, image-to-video, and reference-to-video. Supported ratios: 16:9, 9:16, 1:1, 4:3, 3:4. Duration: 5s, 10s, 15svidu/q3: Vidu Q3 model with enhanced quality and audio generation. Supports both text-to-video and image-to-video generation. Supported ratios: 16:9, 9:16, 4:3, 3:4, 1:1. Duration: 1-16s. Resolution: 720p, 1080prunway/gen4_turbo: A model for generate video with high quality, fast.Supported ratios: 5:3, 3:5. Only support i2v. Duration: 5s, 10sofficial/pixverse/v5: A model for generate video with high quality, fast.fast(30s one video) but expensive. Supported ratios: 16:9, 9:16, 4:3, 1:1, 3:4. Duration: 5s, 8sAdditional features: 1. Generating smooth video transitions between two specified keyframes (start and end frames). fal-ai/bytedance/seedance/v1.5/pro: Bytedance Seedance v1.5 Pro model for high-quality video generation. Latest enhanced version supporting both text-to-video and image-to-video with audio generation. Supports first & last frame control for precise video transitions. HD output (720p), improved visual quality with native audio support. Supported ratios: 21:9, 16:9, 4:3, 1:1, 3:4, 9:16. Duration: 4-12ssora-2: OpenAI Sora 2 video generation model for fast, creative videos. Supports text-to-video, image-to-video (reference frame), and video remixing. Designed for speed and experimentation. Supported ratios: 16:9, 9:16. Duration: 4s, 8s, 12ssora-2-pro: OpenAI Sora 2 Pro for production-quality videos. Higher fidelity than sora-2, best for cinematic footage and marketing assets. Supports 720p and 1080p resolutions. Supported ratios: 16:9, 9:16. Duration: 4s, 8sfal-ai/bytedance-upscaler/upscale/video: ByteDance Video Upscaler for enhancing video quality. Upscales videos to higher resolutions (2k) Requires video_url parameter. Does NOT generate new videos. Use when user wants to improve quality of existing videos.xai/grok-imagine-video: xAI Grok Imagine Video model for high-quality video generation. Supports both text-to-video and image-to-video generation. 720p HD output. Flexible duration 1-15 seconds. Supported ratios: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, 9:21. Duration: 1-15s (string, one of: kling/v3, gemini/veo3.1, gemini/veo3.1/reference-to-video, gemini/veo3.1/first-last-frame-to-video, minimax/hailuo-2.3/standard, wan/v2.6, vidu/q3, runway/gen4_turbo, official/pixverse/v5, fal-ai/bytedance/seedance/v1.5/pro, sora-2, sora-2-pro, fal-ai/bytedance-upscaler/upscale/video, xai/grok-imagine-video) |
35
+ | `-i`, `--image_urls` | No | The URLs of the images to use as reference key frames for the video generation. For single image models, provide 1 image. For multi-image models (like kling/v1.6/pro/elements), provide 1-4 images in sequence order. For start-end models (like vidu, pixverse), provide exactly 2 images (start and end frames). (default is [], if the task is based on one or more reference images, it is required) (array) |
36
+ | `-r`, `--aspect_ratio` | No | The aspect ratio of the video to generate. For image-to-video (i2v) generation, this should match the aspect ratio of your input image(s). (string, one of: 16:9, 9:16, 4:3, 1:1, 9:21) |
37
+ | `-d`, `--duration` | No | The duration of the video to generate in seconds. (number, default: `5`) |
38
+ | `-a`, `--audio_url` | No | Audio URL for audio integration in video generation. - Optional for Wan v2.5 model (custom audio: music or speech, WAV/MP3, 3-10s, up to 15MB) - Required for OmniHuman model (audio-driven animation) Leave empty if no audio is needed. (string, default: ``) |
39
+ | `--video_urls` | No | Input video URLs for video processing tasks. For Wan v2.6 reference-to-video: provide 1-3 reference videos (use @Video1, @Video2, @Video3 in prompt to reference them). (array, default: `[]`) |
40
+ | `--fast_mode` | No | Enable fast mode for quicker generation at lower cost. Only applicable to Veo 3.1 models. Default: false. (boolean, default: `False`) |
41
+ | `--hd_mode` | No | Enable HD (1080p) mode for higher quality output. Only applicable to Veo 3.1 models. Higher cost (2x). Default: false. (boolean, default: `False`) |
42
+
43
+ ## Local File Support
44
+
45
+ Parameters that accept URLs (`--image_urls`, `--audio_url`, `--video_urls`) also accept local file paths. The CLI automatically uploads local files before sending to the API.
46
+
47
+ ## Output File
48
+
49
+ Use `-o <path>` / `--output-file <path>` to download the generated result directly to a local file.
50
+
51
+ ## See Also
52
+
53
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: gsk-vm-email-send
3
+ version: 1.0.0
4
+ description: Send an email from your OpenClaw VM's email address. Recipient must be
5
+ in the VM's email allowlist or be your own login email.
6
+ metadata:
7
+ category: vm_email
8
+ requires:
9
+ bins:
10
+ - gsk
11
+ cliHelp: gsk vm_email send --help
12
+ ---
13
+
14
+ # gsk-vm-email-send
15
+
16
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
17
+
18
+ Send an email from your OpenClaw VM's email address. Recipient must be in the VM's email allowlist or be your own login email.
19
+
20
+ ## Usage
21
+
22
+ ```bash
23
+ gsk vm_email send [options]
24
+ ```
25
+
26
+ ## Flags
27
+
28
+ | Flag | Required | Description |
29
+ |------|----------|-------------|
30
+ | `<to_email>` (positional) | Yes | Recipient email address (string) |
31
+ | `-s`, `--subject` | Yes | Email subject line (string) |
32
+ | `-b`, `--body` | Yes | Email body (plain text or markdown) (string) |
33
+ | `-f`, `--from_vm` | No | Sender VM email address or VM name. Defaults to the first running VM's email. (string) |
34
+
35
+ > **CAUTION:** This command performs a write/send operation. Double-check parameters before executing.
36
+
37
+ ## See Also
38
+
39
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: gsk-web-search
3
+ version: 1.0.0
4
+ description: Search the web. Returns search results with titles, snippets, and URLs.
5
+ metadata:
6
+ category: general
7
+ requires:
8
+ bins:
9
+ - gsk
10
+ cliHelp: gsk search --help
11
+ ---
12
+
13
+ # gsk-web-search
14
+
15
+ **PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
16
+
17
+ Search the web. Returns search results with titles, snippets, and URLs.
18
+
19
+ ## Usage
20
+
21
+ ```bash
22
+ gsk search [options]
23
+ ```
24
+
25
+ **Aliases:** `web_search`, `search`
26
+
27
+ ## Flags
28
+
29
+ | Flag | Required | Description |
30
+ |------|----------|-------------|
31
+ | `<q>` (positional) | Yes | User's search query (string) |
32
+
33
+ ## See Also
34
+
35
+ - [gsk-shared](../gsk-shared/SKILL.md) — Authentication and global flags