@acedatacloud/skills 2026.504.5 → 2026.516.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENTS.md CHANGED
@@ -27,7 +27,7 @@ Skills are located in the `skills/` directory (also mirrored to `.agents/skills/
27
27
  - **wan-video** — Generate videos with Alibaba Wan
28
28
 
29
29
  ### AI Chat & Tools
30
- - **ai-chat** — Unified LLM gateway — GPT, Claude, Gemini, DeepSeek, Grok (50+ models)
30
+ - **ai-chat** — Unified LLM gateway — GPT, Claude, Gemini, Kimi, Grok (50+ models)
31
31
  - **google-search** — Search the web, images, news, maps, places, and videos via Google
32
32
  - **face-transform** — Face analysis, beautification, age/gender transform, swap, cartoon
33
33
  - **short-url** — Create and manage short URLs
package/README.md CHANGED
@@ -46,7 +46,7 @@ Compatible with **30+ AI coding agents** via the [agentskills.io](https://agents
46
46
 
47
47
  | Skill | Description |
48
48
  |-------|-------------|
49
- | [ai-chat](skills/ai-chat/) | Unified LLM gateway — GPT, Claude, Gemini, DeepSeek, Grok (50+ models) |
49
+ | [ai-chat](skills/ai-chat/) | Unified LLM gateway — GPT, Claude, Gemini, Kimi, Grok (50+ models) |
50
50
  | [google-search](skills/google-search/) | Search the web, images, news, maps, places, and videos via Google |
51
51
  | [face-transform](skills/face-transform/) | Face analysis, beautification, age/gender transform, swap, cartoon |
52
52
  | [short-url](skills/short-url/) | Create and manage short URLs |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acedatacloud/skills",
3
- "version": "2026.504.5",
3
+ "version": "2026.516.0",
4
4
  "description": "Agent Skills for AceDataCloud AI services — music, image, video generation, LLM chat, web search. Compatible with Claude Code, GitHub Copilot, Gemini CLI, OpenAI Codex, and 30+ AI coding agents.",
5
5
  "keywords": [
6
6
  "agent-skills",
@@ -111,7 +111,7 @@ Error response format:
111
111
 
112
112
  | Category | Services | Base Path |
113
113
  |----------|----------|-----------|
114
- | **AI Chat** | GPT, Claude, Gemini, DeepSeek, Grok | `/v1/chat/completions` |
114
+ | **AI Chat** | GPT, Claude, Gemini, Kimi, Grok | `/v1/chat/completions` |
115
115
  | **Image Gen** | Midjourney, Flux, Seedream, NanoBanana | `/midjourney/*`, `/flux/*`, etc. |
116
116
  | **Video Gen** | Luma, Sora, Veo, Kling, Hailuo, Seedance, Wan | `/luma/*`, `/sora/*`, etc. |
117
117
  | **Music Gen** | Suno, Producer, Fish Audio | `/suno/*`, `/producer/*`, `/fish/*` |
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ai-chat
3
- description: Access 50+ LLM models through a unified OpenAI-compatible API via AceDataCloud. Use when you need chat completions from GPT, Claude, Gemini, DeepSeek, Grok, or other models through a single endpoint. Supports streaming, function calling, and vision.
3
+ description: Access 50+ LLM models through a unified OpenAI-compatible API via AceDataCloud. Use when you need chat completions from GPT, Claude, Gemini, Kimi, Grok, or other models through a single endpoint. Supports streaming, function calling, and vision.
4
4
  license: Apache-2.0
5
5
  metadata:
6
6
  author: acedatacloud
@@ -78,15 +78,6 @@ print(response.choices[0].message.content)
78
78
  | `gemini-1.5-pro` | Long context, complex tasks |
79
79
  | `gemini-1.5-flash` | Fast, efficient |
80
80
 
81
- ### DeepSeek
82
-
83
- | Model | Best For |
84
- |-------|----------|
85
- | `deepseek-r1` | Deep reasoning |
86
- | `deepseek-r1-0528` | Latest reasoning |
87
- | `deepseek-v3` | General-purpose |
88
- | `deepseek-v3-250324` | Latest general |
89
-
90
81
  ### xAI Grok
91
82
 
92
83
  | Model | Best For |
@@ -15,7 +15,7 @@ allowed_tools: [Bash]
15
15
  license: Apache-2.0
16
16
  metadata:
17
17
  author: acedatacloud
18
- version: "1.1"
18
+ version: "1.2"
19
19
  ---
20
20
 
21
21
  Drive Google Calendar via `curl + jq`. The user's OAuth bearer token
@@ -43,6 +43,72 @@ user to confirm. When attendees are involved, also confirm whether
43
43
  they want Google to email the attendees — that's controlled by the
44
44
  `sendUpdates` query parameter.
45
45
 
46
+ ## Optional: Google Workspace CLI (`gws`) for agenda + create
47
+
48
+ [`gws`](https://github.com/googleworkspace/cli) is Google's official CLI
49
+ (not officially supported — community-maintained on the `googleworkspace`
50
+ org). It dynamically builds its command surface from Google's Discovery
51
+ Document, exits non-zero on API errors, and ships hand-crafted helper
52
+ commands (prefixed `+`) for time-aware workflows.
53
+
54
+ **Use `gws` for two specific cases:**
55
+
56
+ - `+agenda` reads the user's account timezone from `Settings.timezone`
57
+ (cached for 24 h) and renders today's events in that zone, so you don't
58
+ have to fetch the timezone yourself before formatting times.
59
+ - `+insert` shapes the create-event JSON for you (attendees, sendUpdates,
60
+ reminders) so a one-line invocation produces a well-formed request.
61
+
62
+ For everything else (events.list / patch / move / delete, freebusy,
63
+ calendarList) the curl recipes below are equivalent and shorter — stay
64
+ on those.
65
+
66
+ ### Install
67
+
68
+ ```sh
69
+ npm install -g @googleworkspace/cli # or: brew install googleworkspace-cli
70
+ # Pre-built binaries also at https://github.com/googleworkspace/cli/releases
71
+ gws --version
72
+ ```
73
+
74
+ ### Auth
75
+
76
+ `gws` reads its OAuth bearer token from the `GOOGLE_WORKSPACE_CLI_TOKEN`
77
+ environment variable. The Calendar token used in this skill is in
78
+ `$GOOGLE_CALENDAR_TOKEN`, so re-export it once at the top of every shell
79
+ block that calls `gws`:
80
+
81
+ ```sh
82
+ export GOOGLE_WORKSPACE_CLI_TOKEN="$GOOGLE_CALENDAR_TOKEN"
83
+ ```
84
+
85
+ ### Agenda + create
86
+
87
+ ```sh
88
+ # Today on the primary calendar, in the account's own timezone
89
+ gws calendar +agenda
90
+
91
+ # Today / week, with explicit overrides
92
+ gws calendar +agenda --today --tz America/New_York
93
+ gws calendar +agenda --range week
94
+
95
+ # Create an event (auto-shapes attendees + sendUpdates JSON)
96
+ gws calendar +insert --calendar primary \
97
+ --json '{
98
+ "summary":"Standup",
99
+ "start":{"dateTime":"2026-05-06T10:00:00-04:00"},
100
+ "end": {"dateTime":"2026-05-06T10:30:00-04:00"},
101
+ "attendees":[{"email":"alice@example.com"}]
102
+ }' \
103
+ --params '{"sendUpdates":"all"}'
104
+ ```
105
+
106
+ Both helpers exit non-zero with a structured JSON error on stderr if
107
+ Google rejects the request — surface that verbatim. `+insert` against
108
+ attendees requires the broader `calendar` scope; on `403
109
+ insufficientPermissions` ask the user to re-install with read+write
110
+ checked.
111
+
46
112
  ## Recipes
47
113
 
48
114
  ### Verify auth + discover calendars (always run first)
@@ -14,7 +14,7 @@ allowed_tools: [Bash]
14
14
  license: Apache-2.0
15
15
  metadata:
16
16
  author: acedatacloud
17
- version: "1.1"
17
+ version: "1.2"
18
18
  ---
19
19
 
20
20
  Drive Google Drive via `curl + jq`. The user's OAuth bearer token is
@@ -39,6 +39,61 @@ name + path you're about to touch.
39
39
  **Always start with `/about?fields=user`** to confirm the connection
40
40
  works AND learn which Google account you're operating against.
41
41
 
42
+ ## Optional: Google Workspace CLI (`gws`) for uploads
43
+
44
+ [`gws`](https://github.com/googleworkspace/cli) is Google's official CLI
45
+ (not officially supported — community-maintained on the `googleworkspace`
46
+ org). It dynamically builds its command surface from Google's Discovery
47
+ Document, exits non-zero on API errors, supports `--page-all`
48
+ auto-pagination, and ships a `+upload` helper that wraps the multipart
49
+ upload protocol.
50
+
51
+ **Use `gws` for uploads.** A Drive multipart upload requires a
52
+ hand-formatted `multipart/related` body with a JSON metadata part and a
53
+ binary file part separated by a boundary string — easy to get wrong from
54
+ curl. `gws drive +upload` does it correctly. **For everything else**
55
+ (list, search, get, export, rename, move, trash, delete) the curl recipes
56
+ below are equivalent and shorter — stay on those.
57
+
58
+ ### Install
59
+
60
+ ```sh
61
+ npm install -g @googleworkspace/cli # or: brew install googleworkspace-cli
62
+ # Pre-built binaries also at https://github.com/googleworkspace/cli/releases
63
+ gws --version
64
+ ```
65
+
66
+ ### Auth
67
+
68
+ `gws` reads its OAuth bearer token from the `GOOGLE_WORKSPACE_CLI_TOKEN`
69
+ environment variable. The Drive token used in this skill is in
70
+ `$GOOGLE_DRIVE_TOKEN`, so re-export it once at the top of every shell
71
+ block that calls `gws`:
72
+
73
+ ```sh
74
+ export GOOGLE_WORKSPACE_CLI_TOKEN="$GOOGLE_DRIVE_TOKEN"
75
+ ```
76
+
77
+ ### Upload
78
+
79
+ ```sh
80
+ # Simple upload to My Drive (auto-detects MIME type, sets the file name
81
+ # from --name; falls back to the local filename if --name is omitted)
82
+ gws drive +upload ./report.pdf --name "Q1 Report"
83
+
84
+ # Upload into a specific folder, or with explicit metadata, via the
85
+ # generic Discovery method + --upload (multipart wire format handled
86
+ # for you)
87
+ gws drive files create \
88
+ --json '{"name":"report.pdf","parents":["FOLDER_ID"],"description":"Q1"}' \
89
+ --upload ./report.pdf
90
+ ```
91
+
92
+ Both exit non-zero with a structured JSON error on stderr if Google
93
+ rejects the request — surface that verbatim. Uploads need the broader
94
+ `drive` scope; on `403 insufficientPermissions` ask the user to
95
+ re-install the connector with read+write checked.
96
+
42
97
  ## Recipes
43
98
 
44
99
  ### Verify auth (always run first)
@@ -16,7 +16,7 @@ allowed_tools: [Bash]
16
16
  license: Apache-2.0
17
17
  metadata:
18
18
  author: acedatacloud
19
- version: "1.1"
19
+ version: "1.2"
20
20
  ---
21
21
 
22
22
  Drive Gmail via `curl + jq`. The user's OAuth bearer token is in
@@ -45,6 +45,76 @@ AND learn which Gmail account you're operating against. Mailbox payloads
45
45
  can be huge — fetch metadata first, only `format=full` when the user
46
46
  actually wants the body of a specific message.
47
47
 
48
+ ## Optional: Google Workspace CLI (`gws`) for outbound mail
49
+
50
+ [`gws`](https://github.com/googleworkspace/cli) is Google's official CLI
51
+ (not officially supported — community-maintained on the `googleworkspace`
52
+ org). It dynamically builds its command surface from Google's Discovery
53
+ Document, exits non-zero on API errors, and ships hand-crafted helper
54
+ commands (prefixed `+`) that handle the message-encoding boilerplate.
55
+
56
+ **Use `gws` for sending mail.** The Gmail REST API requires every
57
+ outbound message to be a fully-formed RFC 822 message, base64url-encoded
58
+ into a `raw` field, with reply / forward threading carried in
59
+ `In-Reply-To` / `References` / `threadId`. The `+send / +reply /
60
+ +reply-all / +forward` helpers do all of that for you. **For everything
61
+ else** (read, search, labels, attachments) `gws` and curl are equivalent,
62
+ so the curl recipes below are usually shorter — stay on those.
63
+
64
+ ### Install
65
+
66
+ ```sh
67
+ npm install -g @googleworkspace/cli # or: brew install googleworkspace-cli
68
+ # Pre-built binaries also at https://github.com/googleworkspace/cli/releases
69
+ gws --version
70
+ ```
71
+
72
+ ### Auth
73
+
74
+ `gws` reads its OAuth bearer token from the `GOOGLE_WORKSPACE_CLI_TOKEN`
75
+ environment variable. The Gmail token used in this skill is in
76
+ `$GOOGLE_GMAIL_TOKEN`, so re-export it once at the top of every shell
77
+ block that calls `gws`:
78
+
79
+ ```sh
80
+ export GOOGLE_WORKSPACE_CLI_TOKEN="$GOOGLE_GMAIL_TOKEN"
81
+ ```
82
+
83
+ You can confirm the active account with `gws gmail users getProfile
84
+ --params '{"userId":"me"}'`.
85
+
86
+ ### Send / reply / forward
87
+
88
+ ```sh
89
+ # New message
90
+ gws gmail +send \
91
+ --to alice@example.com \
92
+ --cc team@example.com \
93
+ --subject "Q1 status" \
94
+ --body "Numbers attached."
95
+
96
+ # Reply (handles threadId, In-Reply-To, References automatically;
97
+ # To is the original sender, Subject gets the "Re: " prefix)
98
+ gws gmail +reply --message-id MSG_ID --body "Thanks — looks good."
99
+
100
+ # Reply-all
101
+ gws gmail +reply-all --message-id MSG_ID --body "+1"
102
+
103
+ # Forward to new recipients (preserves the original message body
104
+ # inline; original headers are summarised in the forward block)
105
+ gws gmail +forward --message-id MSG_ID --to bob@example.com
106
+ ```
107
+
108
+ Each helper exits with a non-zero status and a JSON error on stderr if
109
+ Google rejects the request — surface that error verbatim. `+send` /
110
+ `+reply` need the `gmail.send` scope; if the user only granted
111
+ `gmail.readonly` you'll see `403 insufficientPermissions` and should ask
112
+ them to re-install the connector with the send box checked.
113
+
114
+ All the read / list / search / label / attachment recipes below are
115
+ intentionally **not** rewritten to `gws` — a one-line `curl ... | jq` is
116
+ shorter and easier to compose with shell pipelines.
117
+
48
118
  ## Recipes
49
119
 
50
120
  ### Verify auth (always run first)
@@ -17,8 +17,7 @@ Quick examples:
17
17
 
18
18
  Environment:
19
19
  Reads TENCENTCLOUD_SECRET_ID, TENCENTCLOUD_SECRET_KEY, TENCENTCLOUD_REGION
20
- from the sandbox environment (auto-injected by aichat2 from the user's
21
- AceDataCloud BYOC connection; or set manually in `.env`).
20
+ from the environment.
22
21
  """
23
22
 
24
23
  from __future__ import annotations