@acedatacloud/skills 2026.504.5 → 2026.505.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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acedatacloud/skills",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.505.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",
|
|
@@ -15,7 +15,7 @@ allowed_tools: [Bash]
|
|
|
15
15
|
license: Apache-2.0
|
|
16
16
|
metadata:
|
|
17
17
|
author: acedatacloud
|
|
18
|
-
version: "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.
|
|
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.
|
|
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
|
|
21
|
-
AceDataCloud BYOC connection; or set manually in `.env`).
|
|
20
|
+
from the environment.
|
|
22
21
|
"""
|
|
23
22
|
|
|
24
23
|
from __future__ import annotations
|