@acedatacloud/skills 2026.406.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 +48 -0
- package/LICENSE +17 -0
- package/README.md +342 -0
- package/bin/cli.js +75 -0
- package/bin/postinstall.js +15 -0
- package/index.js +13 -0
- package/package.json +56 -0
- package/skills/_shared/async-tasks.md +32 -0
- package/skills/_shared/authentication.md +31 -0
- package/skills/_shared/mcp-servers.md +36 -0
- package/skills/acedatacloud-api/SKILL.md +130 -0
- package/skills/ai-chat/SKILL.md +210 -0
- package/skills/face-transform/SKILL.md +153 -0
- package/skills/fish-audio/SKILL.md +99 -0
- package/skills/flux-image/SKILL.md +82 -0
- package/skills/google-search/SKILL.md +88 -0
- package/skills/hailuo-video/SKILL.md +91 -0
- package/skills/kling-video/SKILL.md +126 -0
- package/skills/luma-video/SKILL.md +108 -0
- package/skills/midjourney-image/SKILL.md +170 -0
- package/skills/nano-banana-image/SKILL.md +85 -0
- package/skills/producer-music/SKILL.md +198 -0
- package/skills/seedance-video/SKILL.md +148 -0
- package/skills/seedream-image/SKILL.md +120 -0
- package/skills/short-url/SKILL.md +60 -0
- package/skills/sora-video/SKILL.md +97 -0
- package/skills/suno-music/SKILL.md +187 -0
- package/skills/veo-video/SKILL.md +112 -0
- package/skills/wan-video/SKILL.md +152 -0
package/AGENTS.md
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# AceDataCloud Agent Skills
|
|
2
|
+
|
|
3
|
+
This repository contains Agent Skills for [AceDataCloud](https://platform.acedata.cloud) AI services.
|
|
4
|
+
|
|
5
|
+
## Available Skills
|
|
6
|
+
|
|
7
|
+
Skills are located in the `skills/` directory (also mirrored to `.agents/skills/` and `.github/skills/`).
|
|
8
|
+
|
|
9
|
+
### AI Music & Audio
|
|
10
|
+
- **suno-music** — Generate AI music, lyrics, covers, and vocal extraction with Suno
|
|
11
|
+
- **producer-music** — Generate music, covers, extend tracks, swap vocals with Producer
|
|
12
|
+
- **fish-audio** — Text-to-speech and voice synthesis with Fish Audio
|
|
13
|
+
|
|
14
|
+
### AI Image Generation
|
|
15
|
+
- **midjourney-image** — Generate, edit, blend, describe, and upscale images with Midjourney
|
|
16
|
+
- **flux-image** — Generate and edit images with Flux (Black Forest Labs)
|
|
17
|
+
- **seedream-image** — Generate and edit images with ByteDance Seedream
|
|
18
|
+
- **nano-banana-image** — Generate and edit images with Google Gemini (NanoBanana)
|
|
19
|
+
|
|
20
|
+
### AI Video Generation
|
|
21
|
+
- **luma-video** — Generate videos with Luma Dream Machine
|
|
22
|
+
- **sora-video** — Generate videos with OpenAI Sora
|
|
23
|
+
- **veo-video** — Generate videos with Google Veo (native audio)
|
|
24
|
+
- **kling-video** — Generate videos with Kuaishou Kling (motion control)
|
|
25
|
+
- **hailuo-video** — Generate videos with Hailuo / MiniMax
|
|
26
|
+
- **seedance-video** — Generate dance/motion videos with ByteDance Seedance
|
|
27
|
+
- **wan-video** — Generate videos with Alibaba Wan
|
|
28
|
+
|
|
29
|
+
### AI Chat & Tools
|
|
30
|
+
- **ai-chat** — Unified LLM gateway — GPT, Claude, Gemini, DeepSeek, Grok (50+ models)
|
|
31
|
+
- **google-search** — Search the web, images, news, maps, places, and videos via Google
|
|
32
|
+
- **face-transform** — Face analysis, beautification, age/gender transform, swap, cartoon
|
|
33
|
+
- **short-url** — Create and manage short URLs
|
|
34
|
+
- **acedatacloud-api** — API usage guide — authentication, SDKs, error handling
|
|
35
|
+
|
|
36
|
+
## Authentication
|
|
37
|
+
|
|
38
|
+
All skills require an API token:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
export ACEDATACLOUD_API_TOKEN="your-token-here"
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Get your token at [platform.acedata.cloud](https://platform.acedata.cloud).
|
|
45
|
+
|
|
46
|
+
## Paired MCP Servers
|
|
47
|
+
|
|
48
|
+
Each skill has a corresponding MCP server for tool-use capabilities. See the main [README](README.md) for the full mapping.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Apache License
|
|
2
|
+
Version 2.0, January 2004
|
|
3
|
+
http://www.apache.org/licenses/
|
|
4
|
+
|
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
you may not use this file except in compliance with the License.
|
|
7
|
+
You may obtain a copy of the License at
|
|
8
|
+
|
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
See the License for the specific language governing permissions and
|
|
15
|
+
limitations under the License.
|
|
16
|
+
|
|
17
|
+
Copyright 2026 Ace Data Cloud
|
package/README.md
ADDED
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
# AceDataCloud Agent Skills
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="https://agentskills.io"><img src="https://img.shields.io/badge/Agent_Skills-agentskills.io-blue" alt="Agent Skills"></a>
|
|
5
|
+
<a href="https://platform.acedata.cloud"><img src="https://img.shields.io/badge/API-platform.acedata.cloud-green" alt="Platform"></a>
|
|
6
|
+
<a href="https://www.npmjs.com/package/@acedatacloud/skills"><img src="https://img.shields.io/npm/v/@acedatacloud/skills.svg" alt="npm"></a>
|
|
7
|
+
<a href="https://github.com/AceDataCloud/Skills/actions"><img src="https://github.com/AceDataCloud/Skills/actions/workflows/validate.yml/badge.svg" alt="Validate"></a>
|
|
8
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-orange" alt="License"></a>
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
[Agent Skills](https://agentskills.io/) for [AceDataCloud](https://platform.acedata.cloud) AI services — music, image, video generation, LLM chat, web search, and more.
|
|
12
|
+
|
|
13
|
+
Compatible with **15+ AI coding agents**: Claude Code, GitHub Copilot, Gemini CLI, OpenAI Codex, OpenHands, Roo Code, TRAE, Goose, Mistral Vibe, and all [agentskills.io](https://agentskills.io/)-compatible tools.
|
|
14
|
+
|
|
15
|
+
## Available Skills (19)
|
|
16
|
+
|
|
17
|
+
### AI Music & Audio
|
|
18
|
+
|
|
19
|
+
| Skill | Description |
|
|
20
|
+
|-------|-------------|
|
|
21
|
+
| [suno-music](skills/suno-music/) | Generate AI music, lyrics, covers, and vocal extraction with Suno |
|
|
22
|
+
| [producer-music](skills/producer-music/) | Generate music, covers, extend tracks, swap vocals with Producer |
|
|
23
|
+
| [fish-audio](skills/fish-audio/) | Text-to-speech and voice synthesis with Fish Audio |
|
|
24
|
+
|
|
25
|
+
### AI Image Generation
|
|
26
|
+
|
|
27
|
+
| Skill | Description |
|
|
28
|
+
|-------|-------------|
|
|
29
|
+
| [midjourney-image](skills/midjourney-image/) | Generate, edit, blend, describe, and upscale images with Midjourney |
|
|
30
|
+
| [flux-image](skills/flux-image/) | Generate and edit images with Flux (Black Forest Labs) |
|
|
31
|
+
| [seedream-image](skills/seedream-image/) | Generate and edit images with ByteDance Seedream |
|
|
32
|
+
| [nano-banana-image](skills/nano-banana-image/) | Generate and edit images with Google Gemini (NanoBanana) |
|
|
33
|
+
|
|
34
|
+
### AI Video Generation
|
|
35
|
+
|
|
36
|
+
| Skill | Description |
|
|
37
|
+
|-------|-------------|
|
|
38
|
+
| [luma-video](skills/luma-video/) | Generate videos with Luma Dream Machine |
|
|
39
|
+
| [sora-video](skills/sora-video/) | Generate videos with OpenAI Sora |
|
|
40
|
+
| [veo-video](skills/veo-video/) | Generate videos with Google Veo (native audio) |
|
|
41
|
+
| [kling-video](skills/kling-video/) | Generate videos with Kuaishou Kling (motion control) |
|
|
42
|
+
| [hailuo-video](skills/hailuo-video/) | Generate videos with Hailuo / MiniMax |
|
|
43
|
+
| [seedance-video](skills/seedance-video/) | Generate dance/motion videos with ByteDance Seedance |
|
|
44
|
+
|
|
45
|
+
### AI Chat & Tools
|
|
46
|
+
|
|
47
|
+
| Skill | Description |
|
|
48
|
+
|-------|-------------|
|
|
49
|
+
| [ai-chat](skills/ai-chat/) | Unified LLM gateway — GPT, Claude, Gemini, DeepSeek, Grok (50+ models) |
|
|
50
|
+
| [google-search](skills/google-search/) | Search the web, images, news, maps, places, and videos via Google |
|
|
51
|
+
| [face-transform](skills/face-transform/) | Face analysis, beautification, age/gender transform, swap, cartoon |
|
|
52
|
+
| [short-url](skills/short-url/) | Create and manage short URLs |
|
|
53
|
+
| [acedatacloud-api](skills/acedatacloud-api/) | API usage guide — authentication, SDKs, error handling |
|
|
54
|
+
|
|
55
|
+
## Prerequisites
|
|
56
|
+
|
|
57
|
+
Get your API token at [platform.acedata.cloud](https://platform.acedata.cloud):
|
|
58
|
+
|
|
59
|
+
1. Register an account
|
|
60
|
+
2. Browse and subscribe to a service (most have free quota)
|
|
61
|
+
3. Create an API credential (token)
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
export ACEDATACLOUD_API_TOKEN="your-token-here"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Quick Install (npm)
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Install globally
|
|
71
|
+
npm install -g @acedatacloud/skills
|
|
72
|
+
|
|
73
|
+
# Copy all skills into your project
|
|
74
|
+
npx @acedatacloud/skills install # → .agents/skills/ (universal)
|
|
75
|
+
npx @acedatacloud/skills install --target .claude/skills # → .claude/skills/ (Claude Code)
|
|
76
|
+
npx @acedatacloud/skills install --target .github/skills # → .github/skills/ (GitHub Copilot)
|
|
77
|
+
|
|
78
|
+
# Or use npx directly (no install needed)
|
|
79
|
+
npx @acedatacloud/skills install
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Usage by Platform
|
|
83
|
+
|
|
84
|
+
### Claude Code
|
|
85
|
+
|
|
86
|
+
**Option A: Plugin Marketplace (recommended)**
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
# Add the marketplace source
|
|
90
|
+
/plugin marketplace add AceDataCloud/Skills
|
|
91
|
+
|
|
92
|
+
# Install skill bundles
|
|
93
|
+
/plugin install acedatacloud-ai-media@acedatacloud-skills # 13 media skills
|
|
94
|
+
/plugin install acedatacloud-ai-tools@acedatacloud-skills # 5 tool skills
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
After installation, Claude Code automatically loads relevant skills when you ask about music/image/video generation, search, etc.
|
|
98
|
+
|
|
99
|
+
**Option B: Add skills directory directly**
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# Clone the repo
|
|
103
|
+
git clone https://github.com/AceDataCloud/Skills.git
|
|
104
|
+
|
|
105
|
+
# Add all skills at once
|
|
106
|
+
claude --add-dir ./Skills/skills
|
|
107
|
+
|
|
108
|
+
# Or add specific skills
|
|
109
|
+
claude --add-dir ./Skills/skills/suno-music
|
|
110
|
+
claude --add-dir ./Skills/skills/midjourney-image
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Option C: Copy into your project**
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
# Copy skills into your project's .claude/skills/ directory
|
|
117
|
+
mkdir -p .claude/skills
|
|
118
|
+
cp -r Skills/skills/* .claude/skills/
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Then Claude Code auto-discovers them when working in that project.
|
|
122
|
+
|
|
123
|
+
### GitHub Copilot (VS Code)
|
|
124
|
+
|
|
125
|
+
Copy skills into your project under `.github/skills/` or `.agents/skills/`:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# Option 1: .github/skills/ (GitHub Copilot native path)
|
|
129
|
+
mkdir -p .github/skills
|
|
130
|
+
cp -r Skills/skills/* .github/skills/
|
|
131
|
+
|
|
132
|
+
# Option 2: .agents/skills/ (agentskills.io standard path)
|
|
133
|
+
mkdir -p .agents/skills
|
|
134
|
+
cp -r Skills/skills/* .agents/skills/
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
GitHub Copilot in VS Code will auto-discover skills on file save and use them when relevant.
|
|
138
|
+
|
|
139
|
+
### Gemini CLI
|
|
140
|
+
|
|
141
|
+
Gemini CLI supports the agentskills.io format via `.agents/skills/`:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# Copy into your project
|
|
145
|
+
mkdir -p .agents/skills
|
|
146
|
+
cp -r Skills/skills/* .agents/skills/
|
|
147
|
+
|
|
148
|
+
# Or point Gemini CLI to the skills directory
|
|
149
|
+
gemini --add-dir ./Skills/skills
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### OpenAI Codex
|
|
153
|
+
|
|
154
|
+
Codex supports the agentskills.io standard via `.agents/skills/` and `AGENTS.md`:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
# Copy skills into your project
|
|
158
|
+
mkdir -p .agents/skills
|
|
159
|
+
cp -r Skills/skills/* .agents/skills/
|
|
160
|
+
|
|
161
|
+
# AGENTS.md is already included in this repo for Codex discovery
|
|
162
|
+
cp Skills/AGENTS.md .
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
Codex auto-discovers skills from `.agents/skills/` and reads `AGENTS.md` for context.
|
|
166
|
+
|
|
167
|
+
### OpenHands / OpenDevin
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
# Copy skills into your workspace
|
|
171
|
+
mkdir -p .agents/skills
|
|
172
|
+
cp -r Skills/skills/* .agents/skills/
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
OpenHands auto-discovers `SKILL.md` files in `.agents/skills/`.
|
|
176
|
+
|
|
177
|
+
### Roo Code
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
# Roo Code uses the agentskills.io standard path
|
|
181
|
+
mkdir -p .agents/skills
|
|
182
|
+
cp -r Skills/skills/* .agents/skills/
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### TRAE (ByteDance)
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
# TRAE supports .agents/skills/ directory
|
|
189
|
+
mkdir -p .agents/skills
|
|
190
|
+
cp -r Skills/skills/* .agents/skills/
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Goose (Block)
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
# Goose follows the agentskills.io standard
|
|
197
|
+
mkdir -p .agents/skills
|
|
198
|
+
cp -r Skills/skills/* .agents/skills/
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### Cursor
|
|
202
|
+
|
|
203
|
+
Cursor supports skills via the `.cursor/rules/` directory:
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
# Copy skills into your project
|
|
207
|
+
mkdir -p .cursor/rules
|
|
208
|
+
cp -r Skills/skills/*/*.md .cursor/rules/
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
Alternatively, Cursor can use `.agents/skills/` with newer versions.
|
|
212
|
+
|
|
213
|
+
### Windsurf
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
# Windsurf uses the agentskills.io standard
|
|
217
|
+
mkdir -p .agents/skills
|
|
218
|
+
cp -r Skills/skills/* .agents/skills/
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### Cline
|
|
222
|
+
|
|
223
|
+
Cline supports custom instructions and can load skills from `.agents/skills/`:
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
mkdir -p .agents/skills
|
|
227
|
+
cp -r Skills/skills/* .agents/skills/
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
Or add skills directly in Cline's settings:
|
|
231
|
+
|
|
232
|
+
1. Open Cline sidebar → Settings → Custom Instructions
|
|
233
|
+
2. Paste the content from any `SKILL.md` file
|
|
234
|
+
3. Cline will use the skill context in conversations
|
|
235
|
+
|
|
236
|
+
### Continue.dev
|
|
237
|
+
|
|
238
|
+
```bash
|
|
239
|
+
# Continue supports the agentskills.io standard
|
|
240
|
+
mkdir -p .agents/skills
|
|
241
|
+
cp -r Skills/skills/* .agents/skills/
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
Or configure in `.continue/config.yaml`:
|
|
245
|
+
|
|
246
|
+
```yaml
|
|
247
|
+
docs:
|
|
248
|
+
- title: "AceDataCloud Skills"
|
|
249
|
+
startUrl: "https://github.com/AceDataCloud/Skills"
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
### Amazon Q Developer
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
# Copy skills to your project
|
|
256
|
+
mkdir -p .agents/skills
|
|
257
|
+
cp -r Skills/skills/* .agents/skills/
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
Amazon Q Developer can reference skills from the workspace context.
|
|
261
|
+
|
|
262
|
+
### Zed
|
|
263
|
+
|
|
264
|
+
Zed AI assistant can use context from workspace files:
|
|
265
|
+
|
|
266
|
+
```bash
|
|
267
|
+
mkdir -p .agents/skills
|
|
268
|
+
cp -r Skills/skills/* .agents/skills/
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
Skills are automatically picked up as workspace context.
|
|
272
|
+
|
|
273
|
+
### Any agentskills.io-compatible Agent
|
|
274
|
+
|
|
275
|
+
The universal pattern works with all compatible agents:
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
git clone https://github.com/AceDataCloud/Skills.git
|
|
279
|
+
# Then point your agent to ./Skills/skills/
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
## Pairing Skills with MCP Servers
|
|
283
|
+
|
|
284
|
+
Skills provide **knowledge** (when to use, parameters, gotchas). MCP servers provide **tools** (executable functions the agent can call). Together they give the best experience.
|
|
285
|
+
|
|
286
|
+
| Skill | MCP Server | Install | Hosted Endpoint |
|
|
287
|
+
|-------|-----------|---------|-----------------|
|
|
288
|
+
| suno-music | [mcp-suno](https://pypi.org/project/mcp-suno/) | `pip install mcp-suno` | `https://suno.mcp.acedata.cloud/mcp` |
|
|
289
|
+
| midjourney-image | [mcp-midjourney](https://pypi.org/project/mcp-midjourney/) | `pip install mcp-midjourney` | `https://midjourney.mcp.acedata.cloud/mcp` |
|
|
290
|
+
| google-search | [mcp-serp](https://pypi.org/project/mcp-serp/) | `pip install mcp-serp` | `https://serp.mcp.acedata.cloud/mcp` |
|
|
291
|
+
| flux-image | [mcp-flux](https://pypi.org/project/mcp-flux/) | `pip install mcp-flux` | `https://flux.mcp.acedata.cloud/mcp` |
|
|
292
|
+
| luma-video | [mcp-luma](https://pypi.org/project/mcp-luma/) | `pip install mcp-luma` | `https://luma.mcp.acedata.cloud/mcp` |
|
|
293
|
+
| sora-video | [mcp-sora](https://pypi.org/project/mcp-sora/) | `pip install mcp-sora` | `https://sora.mcp.acedata.cloud/mcp` |
|
|
294
|
+
| veo-video | [mcp-veo](https://pypi.org/project/mcp-veo/) | `pip install mcp-veo` | `https://veo.mcp.acedata.cloud/mcp` |
|
|
295
|
+
| seedream-image | [mcp-seedream](https://pypi.org/project/mcp-seedream/) | `pip install mcp-seedream` | `https://seedream.mcp.acedata.cloud/mcp` |
|
|
296
|
+
| seedance-video | [mcp-seedance](https://pypi.org/project/mcp-seedance/) | `pip install mcp-seedance` | `https://seedance.mcp.acedata.cloud/mcp` |
|
|
297
|
+
| nano-banana-image | [mcp-nano-banana](https://pypi.org/project/mcp-nano-banana/) | `pip install mcp-nano-banana` | `https://nano-banana.mcp.acedata.cloud/mcp` |
|
|
298
|
+
| short-url | [mcp-shorturl](https://pypi.org/project/mcp-shorturl/) | `pip install mcp-shorturl` | `https://short-url.mcp.acedata.cloud/mcp` |
|
|
299
|
+
| wan-video | [mcp-wan](https://pypi.org/project/mcp-wan/) | `pip install mcp-wan` | `https://wan.mcp.acedata.cloud/mcp` |
|
|
300
|
+
|
|
301
|
+
**Using hosted MCP endpoints** (no local install needed):
|
|
302
|
+
|
|
303
|
+
```json
|
|
304
|
+
{
|
|
305
|
+
"mcpServers": {
|
|
306
|
+
"suno": {
|
|
307
|
+
"url": "https://suno.mcp.acedata.cloud/mcp",
|
|
308
|
+
"headers": {
|
|
309
|
+
"Authorization": "Bearer YOUR_TOKEN"
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
## Quick Example
|
|
317
|
+
|
|
318
|
+
Ask your AI agent:
|
|
319
|
+
|
|
320
|
+
> "Generate a lo-fi hip hop track with rain sounds using Suno"
|
|
321
|
+
|
|
322
|
+
The agent will:
|
|
323
|
+
1. Read the `suno-music` skill to understand the API
|
|
324
|
+
2. Call the Suno MCP server (if configured) or guide you through the API call
|
|
325
|
+
3. Handle task polling until the music is ready
|
|
326
|
+
4. Return the audio URL
|
|
327
|
+
|
|
328
|
+
## Contributing
|
|
329
|
+
|
|
330
|
+
We welcome contributions! To add a new skill:
|
|
331
|
+
|
|
332
|
+
1. Create a directory under `skills/` matching the skill name
|
|
333
|
+
2. Add a `SKILL.md` following the [Agent Skills specification](https://agentskills.io/specification)
|
|
334
|
+
3. Use the [template](template/SKILL.md) as a starting point
|
|
335
|
+
4. Reference shared files (`../_shared/authentication.md`, `../_shared/async-tasks.md`, `../_shared/mcp-servers.md`) instead of duplicating common sections
|
|
336
|
+
5. Submit a pull request — CI will validate your skill format
|
|
337
|
+
|
|
338
|
+
**Note:** `.agents/skills/` and `.github/skills/` are symlinks to `skills/` — do not modify files via those paths.
|
|
339
|
+
|
|
340
|
+
## License
|
|
341
|
+
|
|
342
|
+
[Apache-2.0](LICENSE)
|
package/bin/cli.js
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { existsSync, mkdirSync, cpSync, readdirSync } from "fs";
|
|
4
|
+
import { resolve, dirname } from "path";
|
|
5
|
+
import { fileURLToPath } from "url";
|
|
6
|
+
|
|
7
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
const skillsSrc = resolve(__dirname, "..", "skills");
|
|
9
|
+
|
|
10
|
+
const args = process.argv.slice(2);
|
|
11
|
+
const command = args[0];
|
|
12
|
+
|
|
13
|
+
function printUsage() {
|
|
14
|
+
console.log(`
|
|
15
|
+
Usage: npx @acedatacloud/skills <command> [options]
|
|
16
|
+
|
|
17
|
+
Commands:
|
|
18
|
+
install [--target <dir>] Copy skills into your project
|
|
19
|
+
list List all available skills
|
|
20
|
+
|
|
21
|
+
Options:
|
|
22
|
+
--target <dir> Target directory (default: .agents/skills)
|
|
23
|
+
|
|
24
|
+
Examples:
|
|
25
|
+
npx @acedatacloud/skills install # → .agents/skills/
|
|
26
|
+
npx @acedatacloud/skills install --target .claude/skills # → .claude/skills/
|
|
27
|
+
npx @acedatacloud/skills install --target .github/skills # → .github/skills/
|
|
28
|
+
npx @acedatacloud/skills list
|
|
29
|
+
`);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function listSkills() {
|
|
33
|
+
const skills = readdirSync(skillsSrc, { withFileTypes: true })
|
|
34
|
+
.filter((d) => d.isDirectory() && !d.name.startsWith("_"))
|
|
35
|
+
.map((d) => d.name)
|
|
36
|
+
.sort();
|
|
37
|
+
console.log(`Available skills (${skills.length}):\n`);
|
|
38
|
+
skills.forEach((s) => console.log(` - ${s}`));
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function installSkills(target) {
|
|
42
|
+
const dest = resolve(process.cwd(), target);
|
|
43
|
+
mkdirSync(dest, { recursive: true });
|
|
44
|
+
|
|
45
|
+
const skills = readdirSync(skillsSrc, { withFileTypes: true })
|
|
46
|
+
.filter((d) => d.isDirectory() && !d.name.startsWith("_"))
|
|
47
|
+
.map((d) => d.name);
|
|
48
|
+
|
|
49
|
+
let count = 0;
|
|
50
|
+
for (const skill of skills) {
|
|
51
|
+
const src = resolve(skillsSrc, skill);
|
|
52
|
+
const dst = resolve(dest, skill);
|
|
53
|
+
cpSync(src, dst, { recursive: true });
|
|
54
|
+
count++;
|
|
55
|
+
}
|
|
56
|
+
console.log(`Installed ${count} skills to ${dest}`);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (!command || command === "--help" || command === "-h") {
|
|
60
|
+
printUsage();
|
|
61
|
+
} else if (command === "list") {
|
|
62
|
+
listSkills();
|
|
63
|
+
} else if (command === "install") {
|
|
64
|
+
const targetIdx = args.indexOf("--target");
|
|
65
|
+
const target = targetIdx !== -1 ? args[targetIdx + 1] : ".agents/skills";
|
|
66
|
+
if (!target) {
|
|
67
|
+
console.error("Error: --target requires a directory path");
|
|
68
|
+
process.exit(1);
|
|
69
|
+
}
|
|
70
|
+
installSkills(target);
|
|
71
|
+
} else {
|
|
72
|
+
console.error(`Unknown command: ${command}`);
|
|
73
|
+
printUsage();
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { existsSync } from "fs";
|
|
2
|
+
import { resolve, dirname } from "path";
|
|
3
|
+
import { fileURLToPath } from "url";
|
|
4
|
+
|
|
5
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
6
|
+
|
|
7
|
+
// Only show install hint during explicit npm install (not CI/scripts)
|
|
8
|
+
if (process.env.npm_config_global !== "true" && !process.env.CI) {
|
|
9
|
+
console.log(
|
|
10
|
+
"\n📦 AceDataCloud Skills installed. To copy skills into your project:\n"
|
|
11
|
+
);
|
|
12
|
+
console.log(" npx @acedatacloud/skills install # → .agents/skills/");
|
|
13
|
+
console.log(" npx @acedatacloud/skills install --target .claude/skills # → .claude/skills/");
|
|
14
|
+
console.log(" npx @acedatacloud/skills install --target .github/skills # → .github/skills/\n");
|
|
15
|
+
}
|
package/index.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { readdirSync } from "fs";
|
|
2
|
+
import { resolve, dirname } from "path";
|
|
3
|
+
import { fileURLToPath } from "url";
|
|
4
|
+
|
|
5
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
6
|
+
const skillsDir = resolve(__dirname, "skills");
|
|
7
|
+
|
|
8
|
+
export const skills = readdirSync(skillsDir, { withFileTypes: true })
|
|
9
|
+
.filter((d) => d.isDirectory() && !d.name.startsWith("_"))
|
|
10
|
+
.map((d) => d.name)
|
|
11
|
+
.sort();
|
|
12
|
+
|
|
13
|
+
export const skillsPath = skillsDir;
|
package/package.json
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@acedatacloud/skills",
|
|
3
|
+
"version": "2026.406.0",
|
|
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
|
+
"keywords": [
|
|
6
|
+
"agent-skills",
|
|
7
|
+
"agentskills",
|
|
8
|
+
"mcp",
|
|
9
|
+
"claude-code",
|
|
10
|
+
"github-copilot",
|
|
11
|
+
"gemini-cli",
|
|
12
|
+
"openai-codex",
|
|
13
|
+
"ai-tools",
|
|
14
|
+
"suno",
|
|
15
|
+
"midjourney",
|
|
16
|
+
"flux",
|
|
17
|
+
"luma",
|
|
18
|
+
"sora",
|
|
19
|
+
"veo",
|
|
20
|
+
"ai-music",
|
|
21
|
+
"ai-image",
|
|
22
|
+
"ai-video",
|
|
23
|
+
"acedata-cloud"
|
|
24
|
+
],
|
|
25
|
+
"homepage": "https://github.com/AceDataCloud/Skills",
|
|
26
|
+
"bugs": {
|
|
27
|
+
"url": "https://github.com/AceDataCloud/Skills/issues"
|
|
28
|
+
},
|
|
29
|
+
"repository": {
|
|
30
|
+
"type": "git",
|
|
31
|
+
"url": "git+https://github.com/AceDataCloud/Skills.git"
|
|
32
|
+
},
|
|
33
|
+
"license": "Apache-2.0",
|
|
34
|
+
"author": {
|
|
35
|
+
"name": "Ace Data Cloud",
|
|
36
|
+
"email": "dev@acedata.cloud",
|
|
37
|
+
"url": "https://platform.acedata.cloud"
|
|
38
|
+
},
|
|
39
|
+
"type": "module",
|
|
40
|
+
"main": "index.js",
|
|
41
|
+
"bin": {
|
|
42
|
+
"acedatacloud-skills": "bin/cli.js",
|
|
43
|
+
"adc-skills": "bin/cli.js"
|
|
44
|
+
},
|
|
45
|
+
"files": [
|
|
46
|
+
"skills/",
|
|
47
|
+
"bin/",
|
|
48
|
+
"index.js",
|
|
49
|
+
"AGENTS.md",
|
|
50
|
+
"README.md",
|
|
51
|
+
"LICENSE"
|
|
52
|
+
],
|
|
53
|
+
"scripts": {
|
|
54
|
+
"postinstall": "node bin/postinstall.js"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Async Task Polling
|
|
2
|
+
|
|
3
|
+
Most generation APIs (images, video, music) are asynchronous — they return a `task_id` immediately, and you poll for the result.
|
|
4
|
+
|
|
5
|
+
## Pattern
|
|
6
|
+
|
|
7
|
+
**Step 1:** Submit with `callback_url` to force async mode and get a `task_id` immediately.
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
curl -X POST https://api.acedata.cloud/<service>/<resource> \
|
|
11
|
+
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
|
|
12
|
+
-H "Content-Type: application/json" \
|
|
13
|
+
-d '{"prompt": "...", "callback_url": "https://api.acedata.cloud/health"}'
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Using `"callback_url": "https://api.acedata.cloud/health"` as a placeholder forces async mode even without a real webhook endpoint.
|
|
17
|
+
|
|
18
|
+
**Step 2:** Poll the task endpoint every 3-5 seconds until the status is terminal.
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
curl -X POST https://api.acedata.cloud/<service>/tasks \
|
|
22
|
+
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
|
|
23
|
+
-H "Content-Type: application/json" \
|
|
24
|
+
-d '{"task_id": "<task_id from step 1>"}'
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Important Notes
|
|
28
|
+
|
|
29
|
+
- Always use `callback_url` to avoid long-running HTTP connections that time out
|
|
30
|
+
- Poll every 3-5 seconds for music, every 5 seconds for images/video
|
|
31
|
+
- Terminal states vary by service (e.g., `succeeded`, `succeed`, `completed`, `failed`) — check each skill's Gotchas section
|
|
32
|
+
- Some services use `id` instead of `task_id` in the poll request (e.g., Veo, Seedream, NanoBanana)
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Authentication
|
|
2
|
+
|
|
3
|
+
All AceDataCloud APIs use Bearer token authentication.
|
|
4
|
+
|
|
5
|
+
## Setup
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
export ACEDATACLOUD_API_TOKEN="your-token-here"
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Get your token at [platform.acedata.cloud](https://platform.acedata.cloud):
|
|
12
|
+
|
|
13
|
+
1. Register an account
|
|
14
|
+
2. Browse and subscribe to a service (most include free quota)
|
|
15
|
+
3. Create an API credential (token)
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
curl -X POST https://api.acedata.cloud/<endpoint> \
|
|
21
|
+
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
|
|
22
|
+
-H "Content-Type: application/json" \
|
|
23
|
+
-d '{ ... }'
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Token Types
|
|
27
|
+
|
|
28
|
+
| Type | Scope |
|
|
29
|
+
|------|-------|
|
|
30
|
+
| **Service Token** | Access to one subscribed service only |
|
|
31
|
+
| **Global Token** | Access to all subscribed services |
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# MCP Server Integration
|
|
2
|
+
|
|
3
|
+
Each AceDataCloud service has a corresponding MCP server that provides tool-use capabilities for AI agents. Skills provide **knowledge** (when to use, parameters, gotchas); MCP servers provide **tools** (executable functions).
|
|
4
|
+
|
|
5
|
+
## Available Servers
|
|
6
|
+
|
|
7
|
+
| Skill | Package | Hosted Endpoint |
|
|
8
|
+
|-------|---------|-----------------|
|
|
9
|
+
| suno-music | `pip install mcp-suno` | `https://suno.mcp.acedata.cloud/mcp` |
|
|
10
|
+
| producer-music | — | — |
|
|
11
|
+
| midjourney-image | `pip install mcp-midjourney` | `https://midjourney.mcp.acedata.cloud/mcp` |
|
|
12
|
+
| google-search | `pip install mcp-serp` | `https://serp.mcp.acedata.cloud/mcp` |
|
|
13
|
+
| flux-image | `pip install mcp-flux` | `https://flux.mcp.acedata.cloud/mcp` |
|
|
14
|
+
| luma-video | `pip install mcp-luma` | `https://luma.mcp.acedata.cloud/mcp` |
|
|
15
|
+
| sora-video | `pip install mcp-sora` | `https://sora.mcp.acedata.cloud/mcp` |
|
|
16
|
+
| veo-video | `pip install mcp-veo` | `https://veo.mcp.acedata.cloud/mcp` |
|
|
17
|
+
| seedream-image | `pip install mcp-seedream` | `https://seedream.mcp.acedata.cloud/mcp` |
|
|
18
|
+
| seedance-video | `pip install mcp-seedance` | `https://seedance.mcp.acedata.cloud/mcp` |
|
|
19
|
+
| nano-banana-image | `pip install mcp-nano-banana` | `https://nano-banana.mcp.acedata.cloud/mcp` |
|
|
20
|
+
| short-url | `pip install mcp-shorturl` | `https://short-url.mcp.acedata.cloud/mcp` |
|
|
21
|
+
| wan-video | `pip install mcp-wan` | `https://wan.mcp.acedata.cloud/mcp` |
|
|
22
|
+
|
|
23
|
+
## Configuration Example
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
{
|
|
27
|
+
"mcpServers": {
|
|
28
|
+
"suno": {
|
|
29
|
+
"url": "https://suno.mcp.acedata.cloud/mcp",
|
|
30
|
+
"headers": {
|
|
31
|
+
"Authorization": "Bearer YOUR_TOKEN"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
```
|