@acedatacloud/skills 2026.406.2 → 2026.418.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/README.md +14 -14
- package/package.json +1 -1
- package/skills/_shared/authentication.md +27 -10
- package/skills/ai-chat/SKILL.md +1 -1
- package/skills/face-transform/SKILL.md +1 -1
- package/skills/fish-audio/SKILL.md +1 -1
- package/skills/flux-image/SKILL.md +1 -1
- package/skills/google-search/SKILL.md +1 -1
- package/skills/hailuo-video/SKILL.md +1 -1
- package/skills/kling-video/SKILL.md +15 -10
- package/skills/luma-video/SKILL.md +1 -1
- package/skills/midjourney-image/SKILL.md +1 -1
- package/skills/nano-banana-image/SKILL.md +1 -1
- package/skills/producer-music/SKILL.md +1 -1
- package/skills/seedance-video/SKILL.md +1 -1
- package/skills/seedream-image/SKILL.md +1 -1
- package/skills/short-url/SKILL.md +1 -1
- package/skills/sora-video/SKILL.md +1 -1
- package/skills/suno-music/SKILL.md +1 -1
- package/skills/veo-video/SKILL.md +1 -1
- package/skills/wan-video/SKILL.md +1 -1
package/README.md
CHANGED
|
@@ -70,10 +70,10 @@ export ACEDATACLOUD_API_TOKEN="your-token-here"
|
|
|
70
70
|
|
|
71
71
|
```bash
|
|
72
72
|
# Install all skills (for any agentskills.io-compatible agent)
|
|
73
|
-
npx skills add
|
|
73
|
+
npx skills add acedatacloud/skills --skill '*' --yes
|
|
74
74
|
|
|
75
75
|
# Install specific skills only
|
|
76
|
-
npx skills add
|
|
76
|
+
npx skills add acedatacloud/skills --skill suno-music --skill midjourney-image --yes
|
|
77
77
|
```
|
|
78
78
|
|
|
79
79
|
The [`skills` CLI](https://github.com/vercel-labs/skills) auto-detects your agent and installs to the correct path.
|
|
@@ -86,10 +86,10 @@ The [`skills` CLI](https://github.com/vercel-labs/skills) auto-detects your agen
|
|
|
86
86
|
|
|
87
87
|
```bash
|
|
88
88
|
# Install all skills for Claude Code
|
|
89
|
-
npx skills add
|
|
89
|
+
npx skills add acedatacloud/skills --skill '*' -a claude-code --yes
|
|
90
90
|
|
|
91
91
|
# Install specific skills
|
|
92
|
-
npx skills add
|
|
92
|
+
npx skills add acedatacloud/skills --skill suno-music -a claude-code --yes
|
|
93
93
|
```
|
|
94
94
|
|
|
95
95
|
Skills are symlinked into `.claude/skills/` and auto-discovered by Claude Code.
|
|
@@ -97,7 +97,7 @@ Skills are symlinked into `.claude/skills/` and auto-discovered by Claude Code.
|
|
|
97
97
|
**Option B: Plugin Marketplace**
|
|
98
98
|
|
|
99
99
|
```
|
|
100
|
-
/plugin marketplace add
|
|
100
|
+
/plugin marketplace add acedatacloud/skills
|
|
101
101
|
/plugin install acedatacloud-ai-media@acedatacloud-skills
|
|
102
102
|
/plugin install acedatacloud-ai-tools@acedatacloud-skills
|
|
103
103
|
```
|
|
@@ -118,49 +118,49 @@ cp -r Skills/skills/* .claude/skills/
|
|
|
118
118
|
### GitHub Copilot
|
|
119
119
|
|
|
120
120
|
```bash
|
|
121
|
-
npx skills add
|
|
121
|
+
npx skills add acedatacloud/skills --skill '*' -a github-copilot --yes
|
|
122
122
|
```
|
|
123
123
|
|
|
124
124
|
### Gemini CLI
|
|
125
125
|
|
|
126
126
|
```bash
|
|
127
|
-
npx skills add
|
|
127
|
+
npx skills add acedatacloud/skills --skill '*' -a gemini-cli --yes
|
|
128
128
|
```
|
|
129
129
|
|
|
130
130
|
### OpenAI Codex
|
|
131
131
|
|
|
132
132
|
```bash
|
|
133
|
-
npx skills add
|
|
133
|
+
npx skills add acedatacloud/skills --skill '*' -a codex --yes
|
|
134
134
|
```
|
|
135
135
|
|
|
136
136
|
### Cursor
|
|
137
137
|
|
|
138
138
|
```bash
|
|
139
|
-
npx skills add
|
|
139
|
+
npx skills add acedatacloud/skills --skill '*' -a cursor --yes
|
|
140
140
|
```
|
|
141
141
|
|
|
142
142
|
### Roo Code
|
|
143
143
|
|
|
144
144
|
```bash
|
|
145
|
-
npx skills add
|
|
145
|
+
npx skills add acedatacloud/skills --skill '*' -a roo --yes
|
|
146
146
|
```
|
|
147
147
|
|
|
148
148
|
### Goose
|
|
149
149
|
|
|
150
150
|
```bash
|
|
151
|
-
npx skills add
|
|
151
|
+
npx skills add acedatacloud/skills --skill '*' -a goose --yes
|
|
152
152
|
```
|
|
153
153
|
|
|
154
154
|
### Windsurf
|
|
155
155
|
|
|
156
156
|
```bash
|
|
157
|
-
npx skills add
|
|
157
|
+
npx skills add acedatacloud/skills --skill '*' -a windsurf --yes
|
|
158
158
|
```
|
|
159
159
|
|
|
160
160
|
### Cline
|
|
161
161
|
|
|
162
162
|
```bash
|
|
163
|
-
npx skills add
|
|
163
|
+
npx skills add acedatacloud/skills --skill '*' -a cline --yes
|
|
164
164
|
```
|
|
165
165
|
|
|
166
166
|
### Other Agents
|
|
@@ -168,7 +168,7 @@ npx skills add AceDataCloud/Skills --skill '*' -a cline --yes
|
|
|
168
168
|
The `skills` CLI supports 40+ agents. Use `npx skills add --help` to see all options, or install to the universal `.agents/skills/` path:
|
|
169
169
|
|
|
170
170
|
```bash
|
|
171
|
-
npx skills add
|
|
171
|
+
npx skills add acedatacloud/skills --skill '*' --yes
|
|
172
172
|
```
|
|
173
173
|
|
|
174
174
|
## Pairing Skills with MCP Servers
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acedatacloud/skills",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.418.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",
|
|
@@ -2,17 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
All AceDataCloud APIs use Bearer token authentication.
|
|
4
4
|
|
|
5
|
+
## Get Your Token
|
|
6
|
+
|
|
7
|
+
1. Register at [platform.acedata.cloud](https://platform.acedata.cloud)
|
|
8
|
+
2. Subscribe to a service (most include free quota)
|
|
9
|
+
3. Go to your service's **Credentials** page and create an API token
|
|
10
|
+
|
|
5
11
|
## Setup
|
|
6
12
|
|
|
13
|
+
Create a `.env` file in your project root:
|
|
14
|
+
|
|
7
15
|
```bash
|
|
8
|
-
|
|
16
|
+
ACEDATACLOUD_API_TOKEN=your_token_here
|
|
9
17
|
```
|
|
10
18
|
|
|
11
|
-
|
|
19
|
+
Then load it before making API calls:
|
|
12
20
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
21
|
+
```bash
|
|
22
|
+
source .env
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
> **Agent usage:** If you're running skills through Claude Code or another AI agent, the agent will automatically `source .env` from the project root before calling any API.
|
|
26
|
+
|
|
27
|
+
> **Important:** Add `.env` to your `.gitignore` — never commit tokens to version control.
|
|
16
28
|
|
|
17
29
|
## Usage
|
|
18
30
|
|
|
@@ -23,9 +35,14 @@ curl -X POST https://api.acedata.cloud/<endpoint> \
|
|
|
23
35
|
-d '{ ... }'
|
|
24
36
|
```
|
|
25
37
|
|
|
26
|
-
|
|
38
|
+
## Token Types
|
|
39
|
+
|
|
40
|
+
| Type | Scope | Use Case |
|
|
41
|
+
|------|-------|----------|
|
|
42
|
+
| **Service Token** | Single service | Default. Created per-subscription |
|
|
43
|
+
| **Global Token** | All services | Create from the platform's global credentials page |
|
|
44
|
+
|
|
45
|
+
## Gotchas
|
|
27
46
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
| **Service Token** | Access to one subscribed service only |
|
|
31
|
-
| **Global Token** | Access to all subscribed services |
|
|
47
|
+
- Tokens are **service-scoped** by default — if you get a 401 on a different service, create a global token or a token for that specific service
|
|
48
|
+
- Tokens do not expire, but can be revoked from the platform
|
package/skills/ai-chat/SKILL.md
CHANGED
|
@@ -5,7 +5,7 @@ license: Apache-2.0
|
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
7
7
|
version: "1.0"
|
|
8
|
-
compatibility: Requires ACEDATACLOUD_API_TOKEN
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md). Works as a drop-in replacement for the OpenAI SDK.
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# AI Chat — Unified LLM Gateway
|
|
@@ -5,7 +5,7 @@ license: Apache-2.0
|
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
7
7
|
version: "1.0"
|
|
8
|
-
compatibility: Requires ACEDATACLOUD_API_TOKEN
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md).
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Face Transform
|
|
@@ -5,7 +5,7 @@ license: Apache-2.0
|
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
7
7
|
version: "1.0"
|
|
8
|
-
compatibility: Requires ACEDATACLOUD_API_TOKEN
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md).
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Fish Audio — Voice & Audio Synthesis
|
|
@@ -5,7 +5,7 @@ license: Apache-2.0
|
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
7
7
|
version: "1.0"
|
|
8
|
-
compatibility: Requires ACEDATACLOUD_API_TOKEN
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md). Optionally pair with mcp-flux-pro for tool-use.
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Flux Image Generation
|
|
@@ -5,7 +5,7 @@ license: Apache-2.0
|
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
7
7
|
version: "1.0"
|
|
8
|
-
compatibility: Requires ACEDATACLOUD_API_TOKEN
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md). Optionally pair with mcp-serp for tool-use.
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Google Search (SERP)
|
|
@@ -5,7 +5,7 @@ license: Apache-2.0
|
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
7
7
|
version: "1.0"
|
|
8
|
-
compatibility: Requires ACEDATACLOUD_API_TOKEN
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md).
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Hailuo Video Generation
|
|
@@ -5,7 +5,7 @@ license: Apache-2.0
|
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
7
7
|
version: "1.0"
|
|
8
|
-
compatibility: Requires ACEDATACLOUD_API_TOKEN
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md).
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Kling Video Generation
|
|
@@ -20,7 +20,7 @@ Generate AI videos through AceDataCloud's Kuaishou Kling API.
|
|
|
20
20
|
curl -X POST https://api.acedata.cloud/kling/videos \
|
|
21
21
|
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
|
|
22
22
|
-H "Content-Type: application/json" \
|
|
23
|
-
-d '{"action": "text2video", "prompt": "a cat playing piano on a rooftop at sunset", "model": "kling-
|
|
23
|
+
-d '{"action": "text2video", "prompt": "a cat playing piano on a rooftop at sunset", "model": "kling-v3", "mode": "std", "duration": 5}'
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
> **Async:** See [async task polling](../_shared/async-tasks.md). Poll via `POST /kling/tasks` with `{"task_id": "..."}`.
|
|
@@ -28,12 +28,15 @@ curl -X POST https://api.acedata.cloud/kling/videos \
|
|
|
28
28
|
|
|
29
29
|
| Model | Quality | Best For |
|
|
30
30
|
|-------|---------|----------|
|
|
31
|
-
| `kling-
|
|
32
|
-
| `kling-
|
|
31
|
+
| `kling-v3` | Latest | Best quality, flexible 3–15s duration, optional audio generation |
|
|
32
|
+
| `kling-v3-omni` | Latest | Omni model with audio support, flexible 3–15s duration |
|
|
33
|
+
| `kling-v2-6` | High | High-quality output with optional audio (pro mode) |
|
|
34
|
+
| `kling-v2-5-turbo` | High + Fast | Best speed/quality trade-off |
|
|
33
35
|
| `kling-v2-master` | High | High-quality output |
|
|
34
36
|
| `kling-v2-1-master` | High | Improved v2 |
|
|
35
|
-
| `kling-
|
|
36
|
-
| `kling-
|
|
37
|
+
| `kling-v1-6` | Improved | Better quality than v1 |
|
|
38
|
+
| `kling-v1` | Standard | Basic generation, lowest cost |
|
|
39
|
+
| `kling-video-o1` | Premium | Highest quality (thinking model) |
|
|
37
40
|
|
|
38
41
|
## Quality Modes
|
|
39
42
|
|
|
@@ -51,7 +54,7 @@ POST /kling/videos
|
|
|
51
54
|
{
|
|
52
55
|
"action": "text2video",
|
|
53
56
|
"prompt": "a futuristic city with flying cars",
|
|
54
|
-
"model": "kling-
|
|
57
|
+
"model": "kling-v3",
|
|
55
58
|
"mode": "std",
|
|
56
59
|
"duration": 5,
|
|
57
60
|
"aspect_ratio": "16:9"
|
|
@@ -69,7 +72,7 @@ POST /kling/videos
|
|
|
69
72
|
"prompt": "the scene slowly comes alive with movement",
|
|
70
73
|
"start_image_url": "https://example.com/scene.jpg",
|
|
71
74
|
"end_image_url": "https://example.com/end-scene.jpg",
|
|
72
|
-
"model": "kling-
|
|
75
|
+
"model": "kling-v3",
|
|
73
76
|
"mode": "pro"
|
|
74
77
|
}
|
|
75
78
|
```
|
|
@@ -107,7 +110,8 @@ POST /kling/motion
|
|
|
107
110
|
| `action` | `"text2video"`, `"image2video"`, `"extend"` | Generation mode |
|
|
108
111
|
| `model` | See models table | Model to use |
|
|
109
112
|
| `mode` | `"std"`, `"pro"` | Quality mode |
|
|
110
|
-
| `duration` | `5`, `10` | Duration in seconds |
|
|
113
|
+
| `duration` | `5`, `10` (v3/v3-omni: `3`–`15`) | Duration in seconds |
|
|
114
|
+
| `generate_audio` | `true`, `false` | Generate audio with video (v3, v3-omni, v2-6 pro only) |
|
|
111
115
|
| `aspect_ratio` | `"16:9"`, `"9:16"`, `"1:1"` | Video aspect ratio |
|
|
112
116
|
| `cfg_scale` | 0–1 | Prompt relevance strength |
|
|
113
117
|
| `negative_prompt` | string | What to avoid in the video |
|
|
@@ -118,7 +122,8 @@ POST /kling/motion
|
|
|
118
122
|
|
|
119
123
|
## Gotchas
|
|
120
124
|
|
|
121
|
-
- `duration`
|
|
125
|
+
- `duration` supports `5` or `10` seconds for most models; `kling-v3` and `kling-v3-omni` support flexible `3`–`15` seconds
|
|
126
|
+
- `generate_audio` enables synchronized audio generation (supported by `kling-v3`, `kling-v3-omni`, and `kling-v2-6` in pro mode)
|
|
122
127
|
- `end_image_url` is only for `image2video` action — it defines the last frame
|
|
123
128
|
- Motion control (`/kling/motion`) is a separate endpoint from video generation
|
|
124
129
|
- `pro` mode costs roughly 2x `std` mode but generates faster with better quality
|
|
@@ -5,7 +5,7 @@ license: Apache-2.0
|
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
7
7
|
version: "1.0"
|
|
8
|
-
compatibility: Requires ACEDATACLOUD_API_TOKEN
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md). Optionally pair with mcp-luma for tool-use.
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Luma Video Generation
|
|
@@ -5,7 +5,7 @@ license: Apache-2.0
|
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
7
7
|
version: "1.0"
|
|
8
|
-
compatibility: Requires ACEDATACLOUD_API_TOKEN
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md). Optionally pair with mcp-midjourney for tool-use.
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Midjourney Image Generation
|
|
@@ -5,7 +5,7 @@ license: Apache-2.0
|
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
7
7
|
version: "1.0"
|
|
8
|
-
compatibility: Requires ACEDATACLOUD_API_TOKEN
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md). Optionally pair with mcp-nano-banana for tool-use.
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# NanoBanana Image Generation
|
|
@@ -5,7 +5,7 @@ license: Apache-2.0
|
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
7
7
|
version: "1.0"
|
|
8
|
-
compatibility: Requires ACEDATACLOUD_API_TOKEN
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md).
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Producer Music Generation
|
|
@@ -5,7 +5,7 @@ license: Apache-2.0
|
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
7
7
|
version: "1.0"
|
|
8
|
-
compatibility: Requires ACEDATACLOUD_API_TOKEN
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md). Optionally pair with mcp-seedance for tool-use.
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Seedance Video Generation
|
|
@@ -5,7 +5,7 @@ license: Apache-2.0
|
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
7
7
|
version: "1.0"
|
|
8
|
-
compatibility: Requires ACEDATACLOUD_API_TOKEN
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md). Optionally pair with mcp-seedream for tool-use.
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Seedream Image Generation
|
|
@@ -5,7 +5,7 @@ license: Apache-2.0
|
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
7
7
|
version: "1.0"
|
|
8
|
-
compatibility: Requires ACEDATACLOUD_API_TOKEN
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md). Optionally pair with mcp-short-url for tool-use.
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Short URL Service
|
|
@@ -5,7 +5,7 @@ license: Apache-2.0
|
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
7
7
|
version: "1.0"
|
|
8
|
-
compatibility: Requires ACEDATACLOUD_API_TOKEN
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md). Optionally pair with mcp-sora for tool-use.
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Sora Video Generation
|
|
@@ -5,7 +5,7 @@ license: Apache-2.0
|
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
7
7
|
version: "1.0"
|
|
8
|
-
compatibility: Requires ACEDATACLOUD_API_TOKEN
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md). Optionally pair with mcp-suno for tool-use.
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Suno Music Generation
|
|
@@ -5,7 +5,7 @@ license: Apache-2.0
|
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
7
7
|
version: "1.0"
|
|
8
|
-
compatibility: Requires ACEDATACLOUD_API_TOKEN
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md). Optionally pair with mcp-veo for tool-use.
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Veo Video Generation
|
|
@@ -5,7 +5,7 @@ license: Apache-2.0
|
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
7
7
|
version: "1.0"
|
|
8
|
-
compatibility: Requires ACEDATACLOUD_API_TOKEN
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md). Optionally pair with mcp-wan for tool-use.
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Wan Video Generation
|