socialdatax-skills 0.2.1 → 0.2.4
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 +23 -11
- package/cli.mjs +97 -5
- package/package.json +5 -1
- package/skills/media-comments/SKILL.md +13 -6
- package/skills/media-comments/agents/openai.yaml +1 -1
- package/skills/media-detail/SKILL.md +6 -1
- package/skills/media-search/SKILL.md +6 -1
- package/skills/media-user-info/SKILL.md +6 -1
- package/skills/media-user-posts/SKILL.md +14 -3
- package/skills/socialdatax-content-research-assistant/SKILL.md +79 -0
- package/skills/socialdatax-content-research-assistant/agents/openai.yaml +7 -0
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# SocialDataX Skills | 社媒数据助手 Skills
|
|
2
2
|
|
|
3
|
-
This public
|
|
3
|
+
This public package provides the unified skill installer and direct CLI helper for SocialDataX services.
|
|
4
4
|
|
|
5
5
|
The current public tools support 小红书 / Xiaohongshu / XHS / RedNote and 抖音 / Douyin read-only research workflows. The public skill layer is intentionally named by media capability so supported platforms can evolve without changing the installation model.
|
|
6
6
|
|
|
@@ -27,6 +27,8 @@ Common search phrases for this skill package:
|
|
|
27
27
|
- `RedNote skills`
|
|
28
28
|
- `Douyin skills`
|
|
29
29
|
- `抖音 skills`
|
|
30
|
+
- `SocialDataX content research`
|
|
31
|
+
- `content research assistant`
|
|
30
32
|
|
|
31
33
|
## Platform MCPs
|
|
32
34
|
|
|
@@ -40,7 +42,7 @@ Common search phrases for this skill package:
|
|
|
40
42
|
- Douyin current platform MCP registry name: `com.52choujiang/douyin-insights`
|
|
41
43
|
- Douyin future platform MCP registry name: `com.socialdatax/douyin-insights`
|
|
42
44
|
- Unified MCP registry name: none; this package installs skills and calls explicit platform services.
|
|
43
|
-
- Current public capability version: `0.2.
|
|
45
|
+
- Current public capability version: `0.2.4`
|
|
44
46
|
|
|
45
47
|
## Direct CLI
|
|
46
48
|
|
|
@@ -55,13 +57,17 @@ npx -y socialdatax-skills@latest xhs comments --note-id "<note_id>" --pretty
|
|
|
55
57
|
npx -y socialdatax-skills@latest xhs sub-comments --note-id "<note_id>" --comment-id "<comment_id>" --pretty
|
|
56
58
|
npx -y socialdatax-skills@latest xhs user-info --user-id "<user_id>" --pretty
|
|
57
59
|
npx -y socialdatax-skills@latest xhs user-posts --user-id "<user_id>" --pretty
|
|
60
|
+
npx -y socialdatax-skills@latest douyin hot-search --pretty
|
|
58
61
|
npx -y socialdatax-skills@latest douyin search --keyword "露营桌" --pretty
|
|
59
62
|
npx -y socialdatax-skills@latest douyin detail --aweme-id "<aweme_id>" --pretty
|
|
60
63
|
npx -y socialdatax-skills@latest douyin comments --aweme-id "<aweme_id>" --pretty
|
|
64
|
+
npx -y socialdatax-skills@latest douyin replies --aweme-id "<aweme_id>" --comment-id "<comment_id>" --pretty
|
|
61
65
|
npx -y socialdatax-skills@latest douyin user-info --sec-user-id "<sec_user_id>" --pretty
|
|
62
66
|
npx -y socialdatax-skills@latest douyin user-info --profile-url "<profile_url_or_share_text>" --pretty
|
|
63
67
|
npx -y socialdatax-skills@latest douyin user-posts --sec-user-id "<sec_user_id>" --pretty
|
|
64
68
|
npx -y socialdatax-skills@latest douyin user-posts --profile-url "<profile_url_or_share_text>" --pretty
|
|
69
|
+
npx -y socialdatax-skills@latest douyin user-series --sec-user-id "<sec_user_id>" --pretty
|
|
70
|
+
npx -y socialdatax-skills@latest douyin user-series --profile-url "<profile_url_or_share_text>" --pretty
|
|
65
71
|
```
|
|
66
72
|
|
|
67
73
|
The direct CLI prints a JSON envelope with `platform`, `tool`, `arguments`, and `data`.
|
|
@@ -82,12 +88,6 @@ supports `all`, `video`, and `image`.
|
|
|
82
88
|
|
|
83
89
|
- `SOCIALDATAX_API_KEY`
|
|
84
90
|
Required for direct CLI data calls and hosted MCP calls. Local inspection commands such as `list`, `doctor`, and `install --dry-run` do not require a key.
|
|
85
|
-
- `SOCIAL_MEDIA_MCP_UPSTREAM_URL`
|
|
86
|
-
Optional generic override for the selected platform MCP endpoint.
|
|
87
|
-
- `SOCIAL_MEDIA_XHS_MCP_UPSTREAM_URL`
|
|
88
|
-
Optional XHS-specific endpoint override. Default: `https://mcp.52choujiang.com/xhs/mcp`
|
|
89
|
-
- `SOCIAL_MEDIA_DOUYIN_MCP_UPSTREAM_URL`
|
|
90
|
-
Optional Douyin-specific endpoint override. Default: `https://mcp.52choujiang.com/douyin/mcp`
|
|
91
91
|
|
|
92
92
|
## Security & Privacy
|
|
93
93
|
|
|
@@ -135,6 +135,7 @@ npx -y socialdatax-skills@latest list
|
|
|
135
135
|
npx -y socialdatax-skills@latest doctor
|
|
136
136
|
npx -y socialdatax-skills@latest install --target openclaw
|
|
137
137
|
npx -y socialdatax-skills@latest install --target openclaw --dry-run
|
|
138
|
+
npx -y socialdatax-skills@latest install socialdatax-content-research-assistant --target openclaw
|
|
138
139
|
npx -y socialdatax-skills@latest install media-search --target openclaw
|
|
139
140
|
npx -y socialdatax-skills@latest install media-search --target openclaw --dry-run
|
|
140
141
|
npx -y socialdatax-skills@latest install media-user-info --target openclaw
|
|
@@ -148,16 +149,19 @@ npx -y socialdatax-skills@latest install media-search --target codex --scope wor
|
|
|
148
149
|
npx -y socialdatax-skills@latest install media-search --target claude-code
|
|
149
150
|
npx -y socialdatax-skills@latest install media-search --target claude-code --scope workspace
|
|
150
151
|
npx -y socialdatax-skills@latest xhs search --keyword "露营桌" --pretty
|
|
152
|
+
npx -y socialdatax-skills@latest douyin hot-search --pretty
|
|
151
153
|
npx -y socialdatax-skills@latest douyin search --keyword "露营桌" --pretty
|
|
154
|
+
npx -y socialdatax-skills@latest douyin user-series --sec-user-id "<sec_user_id>" --pretty
|
|
152
155
|
```
|
|
153
156
|
|
|
154
157
|
Available skills:
|
|
155
158
|
|
|
159
|
+
- `socialdatax-content-research-assistant`: combine SocialDataX search, detail, comment, creator profile, and creator content workflows for cross-platform content research across XHS and Douyin.
|
|
156
160
|
- `media-search`: search social media content by keyword; supports XHS notes and Douyin works.
|
|
157
161
|
- `media-detail`: read structured content details and metrics; supports XHS notes and Douyin works.
|
|
158
|
-
- `media-comments`: fetch and analyze XHS comments/replies and Douyin
|
|
162
|
+
- `media-comments`: fetch and analyze XHS comments/replies and Douyin comments/replies.
|
|
159
163
|
- `media-user-info`: retrieve creator profile information; supports XHS and Douyin creators.
|
|
160
|
-
- `media-user-posts`: retrieve creator content lists; supports XHS notes and Douyin
|
|
164
|
+
- `media-user-posts`: retrieve creator content lists; supports XHS notes, Douyin works, and Douyin creator short-drama series.
|
|
161
165
|
|
|
162
166
|
Default install locations:
|
|
163
167
|
|
|
@@ -189,11 +193,15 @@ Current XHS workflows include:
|
|
|
189
193
|
|
|
190
194
|
Current Douyin workflows include:
|
|
191
195
|
|
|
196
|
+
- Fetch the current Douyin main hot search list.
|
|
192
197
|
- Search related Douyin works by keyword.
|
|
193
198
|
- Resolve a Douyin content page link, short link, share text, or aweme_id into structured work details.
|
|
194
199
|
- Fetch paginated first-level comments for comment analysis.
|
|
200
|
+
- Fetch paginated replies under a first-level comment.
|
|
201
|
+
- Continue Douyin comment and reply pagination only when `next_page_token` is non-empty; an empty string means there are no more comments or replies to request.
|
|
195
202
|
- Read creator profile data from a profile link, short link, share text, or sec_user_id.
|
|
196
203
|
- Fetch paginated creator work lists from a sec_user_id, profile link, short link, or share text.
|
|
204
|
+
- Fetch paginated creator short-drama series lists from a sec_user_id, profile link, short link, or share text.
|
|
197
205
|
|
|
198
206
|
## XHS Tools
|
|
199
207
|
|
|
@@ -214,15 +222,19 @@ Current Douyin workflows include:
|
|
|
214
222
|
|
|
215
223
|
| Tool | Public purpose |
|
|
216
224
|
| --- | --- |
|
|
225
|
+
| `douyin_get_hot_search_list` | Fetch the current Douyin main hot search list. |
|
|
217
226
|
| `douyin_search_videos` | Search Douyin works by keyword with optional paging and filters. |
|
|
218
227
|
| `douyin_get_video_detail_by_aweme_id` | Fetch structured Douyin work details when the caller already has an aweme_id. |
|
|
219
228
|
| `douyin_get_video_detail_by_url` | Resolve a Douyin content page link, short link, or share text into structured Douyin work details. |
|
|
220
229
|
| `douyin_get_video_comments_by_aweme_id` | Fetch paginated first-level comments when the caller already has an aweme_id. |
|
|
221
230
|
| `douyin_get_video_comments_by_url` | Fetch paginated first-level comments directly from a Douyin content page URL, short link, or share text. |
|
|
231
|
+
| `douyin_get_video_comment_replies_by_comment_id` | Fetch paginated replies under a first-level Douyin comment by aweme_id and comment_id. |
|
|
222
232
|
| `douyin_get_user_info_by_sec_user_id` | Fetch creator profile data when the caller already has a sec_user_id. |
|
|
223
233
|
| `douyin_get_user_info_by_profile_url` | Resolve a profile link, short link, or share text into creator profile data. |
|
|
224
234
|
| `douyin_get_user_posted_videos_by_sec_user_id` | Fetch a paginated list of works published by a creator when the caller already has a sec_user_id. |
|
|
225
235
|
| `douyin_get_user_posted_videos_by_profile_url` | Fetch a paginated list of works published by a creator from a profile link, short link, or share text. |
|
|
236
|
+
| `douyin_get_user_series_by_sec_user_id` | Fetch a paginated list of short-drama series by a creator when the caller already has a sec_user_id. |
|
|
237
|
+
| `douyin_get_user_series_by_profile_url` | Fetch a paginated list of short-drama series by a creator from a profile link, short link, or share text. |
|
|
226
238
|
|
|
227
239
|
## Quick Start
|
|
228
240
|
|
|
@@ -242,7 +254,7 @@ Aily is treated as an OpenClaw / AgentSkills ecosystem channel for this package.
|
|
|
242
254
|
|
|
243
255
|
Request or manage API access from the product website:
|
|
244
256
|
|
|
245
|
-
<https://socialdatax.com>
|
|
257
|
+
<https://socialdatax.com/?from=npm>
|
|
246
258
|
|
|
247
259
|
Use the key as a Bearer token in the `Authorization` request header. Do not commit real API keys to code, docs, issues, or screenshots.
|
|
248
260
|
|
package/cli.mjs
CHANGED
|
@@ -7,7 +7,7 @@ import { dirname, join, resolve } from "node:path";
|
|
|
7
7
|
import { fileURLToPath } from "node:url";
|
|
8
8
|
|
|
9
9
|
const PACKAGE_NAME = "socialdatax-skills";
|
|
10
|
-
const PACKAGE_VERSION = "0.2.
|
|
10
|
+
const PACKAGE_VERSION = "0.2.4";
|
|
11
11
|
const PACKAGE_SPEC = `${PACKAGE_NAME}@latest`;
|
|
12
12
|
const LOG_PREFIX = `[${PACKAGE_NAME}]`;
|
|
13
13
|
const MIN_NODE_VERSION = "20.18.1";
|
|
@@ -16,6 +16,12 @@ const PRIMARY_API_KEY_ENV = "SOCIALDATAX_API_KEY";
|
|
|
16
16
|
const LEGACY_API_KEY_ENV = "SOCIAL_MEDIA_MCP_API_KEY";
|
|
17
17
|
const API_KEY_ENV_NAMES = [PRIMARY_API_KEY_ENV, LEGACY_API_KEY_ENV];
|
|
18
18
|
const AVAILABLE_SKILLS = [
|
|
19
|
+
{
|
|
20
|
+
name: "socialdatax-content-research-assistant",
|
|
21
|
+
summary:
|
|
22
|
+
"Coordinate cross-platform content research across XHS and Douyin.",
|
|
23
|
+
emoji: "🔎",
|
|
24
|
+
},
|
|
19
25
|
{
|
|
20
26
|
name: "media-search",
|
|
21
27
|
summary: "Search XHS notes and Douyin works by keyword with optional filters.",
|
|
@@ -28,7 +34,7 @@ const AVAILABLE_SKILLS = [
|
|
|
28
34
|
},
|
|
29
35
|
{
|
|
30
36
|
name: "media-comments",
|
|
31
|
-
summary: "Fetch and analyze XHS comments/replies and Douyin
|
|
37
|
+
summary: "Fetch and analyze XHS comments/replies and Douyin comments/replies.",
|
|
32
38
|
emoji: "💬",
|
|
33
39
|
},
|
|
34
40
|
{
|
|
@@ -38,7 +44,8 @@ const AVAILABLE_SKILLS = [
|
|
|
38
44
|
},
|
|
39
45
|
{
|
|
40
46
|
name: "media-user-posts",
|
|
41
|
-
summary:
|
|
47
|
+
summary:
|
|
48
|
+
"Retrieve creator content lists for XHS and Douyin, including Douyin creator short-drama series.",
|
|
42
49
|
emoji: "🗂️",
|
|
43
50
|
},
|
|
44
51
|
];
|
|
@@ -80,6 +87,7 @@ const XHS_LEGACY_SEARCH_SORT_TYPE_ALIASES = {
|
|
|
80
87
|
collect_descending: "collect_count_descending",
|
|
81
88
|
};
|
|
82
89
|
const DOUYIN_DIRECT_ACTION_OPTIONS = {
|
|
90
|
+
"hot-search": ["pretty"],
|
|
83
91
|
search: [
|
|
84
92
|
"keyword",
|
|
85
93
|
"pageToken",
|
|
@@ -91,9 +99,12 @@ const DOUYIN_DIRECT_ACTION_OPTIONS = {
|
|
|
91
99
|
],
|
|
92
100
|
detail: ["awemeId", "url", "pretty"],
|
|
93
101
|
comments: ["awemeId", "url", "pageToken", "pretty"],
|
|
102
|
+
replies: ["awemeId", "commentId", "pageToken", "pretty"],
|
|
94
103
|
"user-info": ["secUserId", "profileUrl", "pretty"],
|
|
95
104
|
"user-posts": ["secUserId", "profileUrl", "pageToken", "pretty"],
|
|
105
|
+
"user-series": ["secUserId", "profileUrl", "pageToken", "pretty"],
|
|
96
106
|
};
|
|
107
|
+
const DOUYIN_DIRECT_ACTION_NAMES = Object.keys(DOUYIN_DIRECT_ACTION_OPTIONS).join(", ");
|
|
97
108
|
const DOUYIN_SEARCH_SORT_TYPES = ["general", "time_descending", "like_count_descending"];
|
|
98
109
|
const DOUYIN_SEARCH_PUBLISH_TIME_RANGES = ["all", "day", "week", "half_year"];
|
|
99
110
|
const DOUYIN_SEARCH_DURATION_RANGES = [
|
|
@@ -193,6 +204,10 @@ const PLATFORMS = {
|
|
|
193
204
|
"DOUYIN_MCP_UPSTREAM_URL",
|
|
194
205
|
],
|
|
195
206
|
tools: [
|
|
207
|
+
{
|
|
208
|
+
name: "douyin_get_hot_search_list",
|
|
209
|
+
description: "Fetch the current Douyin main hot search list.",
|
|
210
|
+
},
|
|
196
211
|
{
|
|
197
212
|
name: "douyin_get_video_detail_by_aweme_id",
|
|
198
213
|
description: "Fetch structured Douyin work details by aweme_id.",
|
|
@@ -209,6 +224,10 @@ const PLATFORMS = {
|
|
|
209
224
|
name: "douyin_get_video_comments_by_url",
|
|
210
225
|
description: "Fetch paginated first-level comments from a Douyin content page link, short link, or share text.",
|
|
211
226
|
},
|
|
227
|
+
{
|
|
228
|
+
name: "douyin_get_video_comment_replies_by_comment_id",
|
|
229
|
+
description: "Fetch paginated replies under a first-level Douyin comment by aweme_id and comment_id.",
|
|
230
|
+
},
|
|
212
231
|
{
|
|
213
232
|
name: "douyin_get_user_info_by_sec_user_id",
|
|
214
233
|
description: "Fetch creator profile data by sec_user_id.",
|
|
@@ -225,6 +244,14 @@ const PLATFORMS = {
|
|
|
225
244
|
name: "douyin_get_user_posted_videos_by_profile_url",
|
|
226
245
|
description: "Fetch creator works from a profile link, short link, or share text.",
|
|
227
246
|
},
|
|
247
|
+
{
|
|
248
|
+
name: "douyin_get_user_series_by_sec_user_id",
|
|
249
|
+
description: "Fetch a paginated list of short-drama series published by a creator.",
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
name: "douyin_get_user_series_by_profile_url",
|
|
253
|
+
description: "Fetch creator short-drama series from a profile link, short link, or share text.",
|
|
254
|
+
},
|
|
228
255
|
{
|
|
229
256
|
name: "douyin_search_videos",
|
|
230
257
|
description: "Search Douyin works by keyword with optional paging and filters.",
|
|
@@ -870,6 +897,9 @@ function printHelp() {
|
|
|
870
897
|
console.log(` npx -y ${PACKAGE_SPEC} xhs user-posts --user-id "<user_id>" --pretty`);
|
|
871
898
|
console.log(" Call the XHS creator posts tool directly and print JSON.");
|
|
872
899
|
console.log("");
|
|
900
|
+
console.log(` npx -y ${PACKAGE_SPEC} douyin hot-search --pretty`);
|
|
901
|
+
console.log(" Call the Douyin main hot search list tool directly and print JSON.");
|
|
902
|
+
console.log("");
|
|
873
903
|
console.log(` npx -y ${PACKAGE_SPEC} douyin search --keyword "露营桌" --pretty`);
|
|
874
904
|
console.log(" Call the Douyin work search tool directly and print JSON.");
|
|
875
905
|
console.log("");
|
|
@@ -879,6 +909,11 @@ function printHelp() {
|
|
|
879
909
|
console.log(` npx -y ${PACKAGE_SPEC} douyin comments --aweme-id "<aweme_id>" --pretty`);
|
|
880
910
|
console.log(" Call the Douyin work comments tool directly and print JSON.");
|
|
881
911
|
console.log("");
|
|
912
|
+
console.log(
|
|
913
|
+
` npx -y ${PACKAGE_SPEC} douyin replies --aweme-id "<aweme_id>" --comment-id "<comment_id>" --pretty`
|
|
914
|
+
);
|
|
915
|
+
console.log(" Call the Douyin comment replies tool directly and print JSON.");
|
|
916
|
+
console.log("");
|
|
882
917
|
console.log(` npx -y ${PACKAGE_SPEC} douyin user-info --sec-user-id "<sec_user_id>" --pretty`);
|
|
883
918
|
console.log(" Call the Douyin creator profile tool directly and print JSON.");
|
|
884
919
|
console.log("");
|
|
@@ -891,6 +926,12 @@ function printHelp() {
|
|
|
891
926
|
console.log(` npx -y ${PACKAGE_SPEC} douyin user-posts --profile-url "<profile_url_or_share_text>" --pretty`);
|
|
892
927
|
console.log(" Call the Douyin creator works tool from a profile link or share text.");
|
|
893
928
|
console.log("");
|
|
929
|
+
console.log(` npx -y ${PACKAGE_SPEC} douyin user-series --sec-user-id "<sec_user_id>" --pretty`);
|
|
930
|
+
console.log(" Call the Douyin creator short-drama series tool directly and print JSON.");
|
|
931
|
+
console.log("");
|
|
932
|
+
console.log(` npx -y ${PACKAGE_SPEC} douyin user-series --profile-url "<profile_url_or_share_text>" --pretty`);
|
|
933
|
+
console.log(" Call the Douyin creator short-drama series tool from a profile link or share text.");
|
|
934
|
+
console.log("");
|
|
894
935
|
console.log(` npx -y ${PACKAGE_SPEC} list`);
|
|
895
936
|
console.log(" List available skills.");
|
|
896
937
|
console.log("");
|
|
@@ -1039,7 +1080,7 @@ async function runDouyinDirectCommand(args) {
|
|
|
1039
1080
|
const action = positional[0];
|
|
1040
1081
|
if (!action) {
|
|
1041
1082
|
throw new Error(
|
|
1042
|
-
`Missing Douyin command. Use
|
|
1083
|
+
`Missing Douyin command. Use ${DOUYIN_DIRECT_ACTION_NAMES}.`
|
|
1043
1084
|
);
|
|
1044
1085
|
}
|
|
1045
1086
|
if (positional.length > 1) {
|
|
@@ -1135,6 +1176,15 @@ function buildXhsOperation(action, options) {
|
|
|
1135
1176
|
|
|
1136
1177
|
function buildDouyinOperation(action, options) {
|
|
1137
1178
|
switch (action) {
|
|
1179
|
+
case "hot-search":
|
|
1180
|
+
return buildDirectOperation(
|
|
1181
|
+
"hot-search",
|
|
1182
|
+
{
|
|
1183
|
+
tool: "douyin_get_hot_search_list",
|
|
1184
|
+
toolArguments: {},
|
|
1185
|
+
},
|
|
1186
|
+
PLATFORMS.douyin
|
|
1187
|
+
);
|
|
1138
1188
|
case "search":
|
|
1139
1189
|
return buildDirectOperation(
|
|
1140
1190
|
"search",
|
|
@@ -1172,6 +1222,12 @@ function buildDouyinOperation(action, options) {
|
|
|
1172
1222
|
}),
|
|
1173
1223
|
PLATFORMS.douyin
|
|
1174
1224
|
);
|
|
1225
|
+
case "replies":
|
|
1226
|
+
return buildDirectOperation(
|
|
1227
|
+
"replies",
|
|
1228
|
+
buildDouyinRepliesCall(options),
|
|
1229
|
+
PLATFORMS.douyin
|
|
1230
|
+
);
|
|
1175
1231
|
case "user-info":
|
|
1176
1232
|
return buildDirectOperation(
|
|
1177
1233
|
"user-info",
|
|
@@ -1203,9 +1259,25 @@ function buildDouyinOperation(action, options) {
|
|
|
1203
1259
|
}),
|
|
1204
1260
|
PLATFORMS.douyin
|
|
1205
1261
|
);
|
|
1262
|
+
case "user-series":
|
|
1263
|
+
return buildDirectOperation(
|
|
1264
|
+
"user-series",
|
|
1265
|
+
buildOneOfCall(options, {
|
|
1266
|
+
idOption: "secUserId",
|
|
1267
|
+
urlOption: "profileUrl",
|
|
1268
|
+
idTool: "douyin_get_user_series_by_sec_user_id",
|
|
1269
|
+
urlTool: "douyin_get_user_series_by_profile_url",
|
|
1270
|
+
idArgument: "sec_user_id",
|
|
1271
|
+
urlArgument: "profile_url",
|
|
1272
|
+
idDisplay: "--sec-user-id",
|
|
1273
|
+
urlDisplay: "--profile-url",
|
|
1274
|
+
pageToken: options.pageToken,
|
|
1275
|
+
}),
|
|
1276
|
+
PLATFORMS.douyin
|
|
1277
|
+
);
|
|
1206
1278
|
default:
|
|
1207
1279
|
throw new Error(
|
|
1208
|
-
`Unsupported Douyin command "${action}". Use
|
|
1280
|
+
`Unsupported Douyin command "${action}". Use ${DOUYIN_DIRECT_ACTION_NAMES}.`
|
|
1209
1281
|
);
|
|
1210
1282
|
}
|
|
1211
1283
|
}
|
|
@@ -1347,6 +1419,26 @@ function buildDouyinSearchCall(options) {
|
|
|
1347
1419
|
};
|
|
1348
1420
|
}
|
|
1349
1421
|
|
|
1422
|
+
function buildDouyinRepliesCall(options) {
|
|
1423
|
+
if (!options.awemeId) {
|
|
1424
|
+
throw new Error("Missing --aweme-id for douyin replies.");
|
|
1425
|
+
}
|
|
1426
|
+
if (!options.commentId) {
|
|
1427
|
+
throw new Error("Missing --comment-id for douyin replies.");
|
|
1428
|
+
}
|
|
1429
|
+
const toolArguments = {
|
|
1430
|
+
aweme_id: options.awemeId,
|
|
1431
|
+
comment_id: options.commentId,
|
|
1432
|
+
};
|
|
1433
|
+
if (options.pageToken) {
|
|
1434
|
+
toolArguments.page_token = options.pageToken;
|
|
1435
|
+
}
|
|
1436
|
+
return {
|
|
1437
|
+
tool: "douyin_get_video_comment_replies_by_comment_id",
|
|
1438
|
+
toolArguments,
|
|
1439
|
+
};
|
|
1440
|
+
}
|
|
1441
|
+
|
|
1350
1442
|
|
|
1351
1443
|
function buildXhsSubCommentsCall(options) {
|
|
1352
1444
|
if (!options.noteId) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "socialdatax-skills",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"description": "SocialDataX / 社媒数据助手 skill installer and direct CLI helper for hosted platform social media MCP services.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -46,6 +46,10 @@
|
|
|
46
46
|
"bugs": {
|
|
47
47
|
"url": "https://socialdatax.com"
|
|
48
48
|
},
|
|
49
|
+
"repository": {
|
|
50
|
+
"type": "git",
|
|
51
|
+
"url": "git+https://github.com/DevinChen2014/socialdatax-skills.git"
|
|
52
|
+
},
|
|
49
53
|
"engines": {
|
|
50
54
|
"node": ">=20.18.1"
|
|
51
55
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: media-comments
|
|
3
|
-
description: Fetch and analyze XHS comments/replies and Douyin
|
|
3
|
+
description: Fetch and analyze XHS comments/replies and Douyin comments/replies. This version is backed by hosted platform MCP services and supports Xiaohongshu, 小红书, XHS, RedNote, and Douyin / 抖音.
|
|
4
4
|
metadata:
|
|
5
5
|
openclaw:
|
|
6
6
|
requires:
|
|
@@ -11,7 +11,7 @@ metadata:
|
|
|
11
11
|
- npm
|
|
12
12
|
primaryEnv: SOCIALDATAX_API_KEY
|
|
13
13
|
emoji: "💬"
|
|
14
|
-
homepage: https://socialdatax.com
|
|
14
|
+
homepage: https://socialdatax.com/?from=npm
|
|
15
15
|
install:
|
|
16
16
|
- kind: node
|
|
17
17
|
package: "socialdatax-skills"
|
|
@@ -25,7 +25,12 @@ Use this skill when the user wants comment mining, audience feedback, sentiment
|
|
|
25
25
|
Current platform support:
|
|
26
26
|
|
|
27
27
|
- Xiaohongshu / XHS / RedNote notes through the `xhs_get_note_comments_by_*` and `xhs_get_note_sub_comments_by_comment_id` tools.
|
|
28
|
-
- Douyin / 抖音 works, including video and image/text posts, through the `douyin_get_video_comments_by_*` tools.
|
|
28
|
+
- Douyin / 抖音 works, including video and image/text posts, through the `douyin_get_video_comments_by_*` and `douyin_get_video_comment_replies_by_comment_id` tools.
|
|
29
|
+
|
|
30
|
+
## API Key
|
|
31
|
+
|
|
32
|
+
Use `SOCIALDATAX_API_KEY` for SocialDataX requests. To get or manage an API Key, open <https://socialdatax.com/?from=npm> and follow the website API Key access flow. If a user asks where to get a key, provide only this URL; do not infer alternate domains.
|
|
33
|
+
获取或管理 API Key:访问 <https://socialdatax.com/?from=npm>,按官网的 API Key 申请/管理入口操作。环境变量名固定使用 `SOCIALDATAX_API_KEY`;不要引导用户使用其他域名。
|
|
29
34
|
|
|
30
35
|
## Preferred Direct CLI
|
|
31
36
|
|
|
@@ -37,16 +42,17 @@ npx -y socialdatax-skills@latest xhs comments --url "<note_url_or_share_text>" -
|
|
|
37
42
|
npx -y socialdatax-skills@latest xhs sub-comments --note-id "<note_id>" --comment-id "<comment_id>" --pretty
|
|
38
43
|
npx -y socialdatax-skills@latest douyin comments --aweme-id "<aweme_id>" --pretty
|
|
39
44
|
npx -y socialdatax-skills@latest douyin comments --url "<douyin_content_url_or_share_text>" --pretty
|
|
45
|
+
npx -y socialdatax-skills@latest douyin replies --aweme-id "<aweme_id>" --comment-id "<comment_id>" --pretty
|
|
40
46
|
```
|
|
41
47
|
|
|
42
48
|
- XHS `--note-id <note_id>`: preferred when the note ID is already known and should anchor the comment thread.
|
|
43
49
|
- Douyin `--aweme-id <aweme_id>`: preferred when the video ID is already known and should anchor the comment thread.
|
|
44
50
|
- `--url <url_or_share_text>`: use for a content page URL, short link, or share text for first-level comments; for Douyin, do not pass `video.play_url`.
|
|
45
|
-
- `--comment-id <comment_id>`: required
|
|
51
|
+
- `--comment-id <comment_id>`: required for XHS and Douyin reply commands; use the first-level comment ID under the same content item.
|
|
46
52
|
- `--page-token <next_page_token>`: opaque pagination token; pass back exactly the token returned by the previous page and do not reuse it across content items or comments.
|
|
47
53
|
- `--pretty`: output formatting only.
|
|
48
54
|
|
|
49
|
-
For XHS `comments`, use either `--note-id` or `--url`, not both. For Douyin `comments`, use either `--aweme-id` or `--url`, not both. For
|
|
55
|
+
For XHS `comments`, use either `--note-id` or `--url`, not both. For Douyin `comments`, use either `--aweme-id` or `--url`, not both. For reply commands, use the content ID together with `--comment-id`.
|
|
50
56
|
|
|
51
57
|
The command prints JSON with `platform`, `tool`, `arguments`, and `data`.
|
|
52
58
|
|
|
@@ -63,8 +69,9 @@ If MCP tools are already available in the current agent, use one of these tools:
|
|
|
63
69
|
- `xhs_get_note_sub_comments_by_comment_id`: use when the note ID and first-level comment ID are known.
|
|
64
70
|
- `douyin_get_video_comments_by_aweme_id`: use when the aweme_id is known.
|
|
65
71
|
- `douyin_get_video_comments_by_url`: use for Douyin content page URLs, short links, or share text; do not pass playback URLs such as `video.play_url`.
|
|
72
|
+
- `douyin_get_video_comment_replies_by_comment_id`: use when the aweme_id and first-level comment ID are known.
|
|
66
73
|
|
|
67
|
-
Comment pagination uses `page_token`. Pass back exactly the returned `next_page_token`; tokens are bound to the current content item and should not be reused across objects. XHS reply pagination also uses `page_token` and is bound to the current comment.
|
|
74
|
+
Comment pagination uses `page_token`. Pass back exactly the returned `next_page_token`; tokens are bound to the current content item and should not be reused across objects. For Douyin comments and replies, continue only when `next_page_token` is non-empty; an empty string means there are no more comments or replies to request. XHS reply pagination also uses `page_token` and is bound to the current comment.
|
|
68
75
|
|
|
69
76
|
## Output Guidance
|
|
70
77
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "Media Comments"
|
|
3
3
|
short_description: "Fetch social comments"
|
|
4
|
-
default_prompt: "Use $media-comments to fetch and analyze XHS comments/replies or Douyin
|
|
4
|
+
default_prompt: "Use $media-comments to fetch and analyze XHS comments/replies or Douyin comments/replies."
|
|
5
5
|
|
|
6
6
|
policy:
|
|
7
7
|
allow_implicit_invocation: true
|
|
@@ -11,7 +11,7 @@ metadata:
|
|
|
11
11
|
- npm
|
|
12
12
|
primaryEnv: SOCIALDATAX_API_KEY
|
|
13
13
|
emoji: "📄"
|
|
14
|
-
homepage: https://socialdatax.com
|
|
14
|
+
homepage: https://socialdatax.com/?from=npm
|
|
15
15
|
install:
|
|
16
16
|
- kind: node
|
|
17
17
|
package: "socialdatax-skills"
|
|
@@ -27,6 +27,11 @@ Current platform support:
|
|
|
27
27
|
- Xiaohongshu / XHS / RedNote notes through the `xhs_get_note_detail_by_*` tools.
|
|
28
28
|
- Douyin / 抖音 works, including video and image/text posts, through the `douyin_get_video_detail_by_*` tools.
|
|
29
29
|
|
|
30
|
+
## API Key
|
|
31
|
+
|
|
32
|
+
Use `SOCIALDATAX_API_KEY` for SocialDataX requests. To get or manage an API Key, open <https://socialdatax.com/?from=npm> and follow the website API Key access flow. If a user asks where to get a key, provide only this URL; do not infer alternate domains.
|
|
33
|
+
获取或管理 API Key:访问 <https://socialdatax.com/?from=npm>,按官网的 API Key 申请/管理入口操作。环境变量名固定使用 `SOCIALDATAX_API_KEY`;不要引导用户使用其他域名。
|
|
34
|
+
|
|
30
35
|
## Preferred Direct CLI
|
|
31
36
|
|
|
32
37
|
Prefer the direct CLI when the agent can run shell commands. It does not require MCP server configuration:
|
|
@@ -11,7 +11,7 @@ metadata:
|
|
|
11
11
|
- npm
|
|
12
12
|
primaryEnv: SOCIALDATAX_API_KEY
|
|
13
13
|
emoji: "🔍"
|
|
14
|
-
homepage: https://socialdatax.com
|
|
14
|
+
homepage: https://socialdatax.com/?from=npm
|
|
15
15
|
install:
|
|
16
16
|
- kind: node
|
|
17
17
|
package: "socialdatax-skills"
|
|
@@ -27,6 +27,11 @@ Current platform support:
|
|
|
27
27
|
- Xiaohongshu / XHS / RedNote notes through `xhs_search_notes`.
|
|
28
28
|
- Douyin / 抖音 works, including video and image/text posts, through `douyin_search_videos`.
|
|
29
29
|
|
|
30
|
+
## API Key
|
|
31
|
+
|
|
32
|
+
Use `SOCIALDATAX_API_KEY` for SocialDataX requests. To get or manage an API Key, open <https://socialdatax.com/?from=npm> and follow the website API Key access flow. If a user asks where to get a key, provide only this URL; do not infer alternate domains.
|
|
33
|
+
获取或管理 API Key:访问 <https://socialdatax.com/?from=npm>,按官网的 API Key 申请/管理入口操作。环境变量名固定使用 `SOCIALDATAX_API_KEY`;不要引导用户使用其他域名。
|
|
34
|
+
|
|
30
35
|
## Preferred Direct CLI
|
|
31
36
|
|
|
32
37
|
Prefer the direct CLI when the agent can run shell commands. It does not require MCP server configuration:
|
|
@@ -11,7 +11,7 @@ metadata:
|
|
|
11
11
|
- npm
|
|
12
12
|
primaryEnv: SOCIALDATAX_API_KEY
|
|
13
13
|
emoji: "👤"
|
|
14
|
-
homepage: https://socialdatax.com
|
|
14
|
+
homepage: https://socialdatax.com/?from=npm
|
|
15
15
|
install:
|
|
16
16
|
- kind: node
|
|
17
17
|
package: "socialdatax-skills"
|
|
@@ -27,6 +27,11 @@ Current platform support:
|
|
|
27
27
|
- Xiaohongshu / XHS / RedNote creators through the `xhs_get_user_info_by_*` tools.
|
|
28
28
|
- Douyin / 抖音 creators through the `douyin_get_user_info_by_*` tools.
|
|
29
29
|
|
|
30
|
+
## API Key
|
|
31
|
+
|
|
32
|
+
Use `SOCIALDATAX_API_KEY` for SocialDataX requests. To get or manage an API Key, open <https://socialdatax.com/?from=npm> and follow the website API Key access flow. If a user asks where to get a key, provide only this URL; do not infer alternate domains.
|
|
33
|
+
获取或管理 API Key:访问 <https://socialdatax.com/?from=npm>,按官网的 API Key 申请/管理入口操作。环境变量名固定使用 `SOCIALDATAX_API_KEY`;不要引导用户使用其他域名。
|
|
34
|
+
|
|
30
35
|
## Preferred Direct CLI
|
|
31
36
|
|
|
32
37
|
Prefer the direct CLI when the agent can run shell commands. It does not require MCP server configuration:
|
|
@@ -11,7 +11,7 @@ metadata:
|
|
|
11
11
|
- npm
|
|
12
12
|
primaryEnv: SOCIALDATAX_API_KEY
|
|
13
13
|
emoji: "🗂️"
|
|
14
|
-
homepage: https://socialdatax.com
|
|
14
|
+
homepage: https://socialdatax.com/?from=npm
|
|
15
15
|
install:
|
|
16
16
|
- kind: node
|
|
17
17
|
package: "socialdatax-skills"
|
|
@@ -26,6 +26,12 @@ Current platform support:
|
|
|
26
26
|
|
|
27
27
|
- Xiaohongshu / XHS / RedNote creator notes through the `xhs_get_user_posted_notes_by_*` tools.
|
|
28
28
|
- Douyin / 抖音 creator works, including video and image/text posts, through the `douyin_get_user_posted_videos_by_*` tools.
|
|
29
|
+
- Douyin / 抖音 creator short-drama series through the `douyin_get_user_series_by_*` tools.
|
|
30
|
+
|
|
31
|
+
## API Key
|
|
32
|
+
|
|
33
|
+
Use `SOCIALDATAX_API_KEY` for SocialDataX requests. To get or manage an API Key, open <https://socialdatax.com/?from=npm> and follow the website API Key access flow. If a user asks where to get a key, provide only this URL; do not infer alternate domains.
|
|
34
|
+
获取或管理 API Key:访问 <https://socialdatax.com/?from=npm>,按官网的 API Key 申请/管理入口操作。环境变量名固定使用 `SOCIALDATAX_API_KEY`;不要引导用户使用其他域名。
|
|
29
35
|
|
|
30
36
|
## Preferred Direct CLI
|
|
31
37
|
|
|
@@ -36,12 +42,15 @@ npx -y socialdatax-skills@latest xhs user-posts --user-id "<user_id>" --pretty
|
|
|
36
42
|
npx -y socialdatax-skills@latest xhs user-posts --profile-url "<profile_url_or_share_text>" --pretty
|
|
37
43
|
npx -y socialdatax-skills@latest douyin user-posts --sec-user-id "<sec_user_id>" --pretty
|
|
38
44
|
npx -y socialdatax-skills@latest douyin user-posts --profile-url "<profile_url_or_share_text>" --pretty
|
|
45
|
+
npx -y socialdatax-skills@latest douyin user-series --sec-user-id "<sec_user_id>" --pretty
|
|
46
|
+
npx -y socialdatax-skills@latest douyin user-series --profile-url "<profile_url_or_share_text>" --pretty
|
|
39
47
|
```
|
|
40
48
|
|
|
41
49
|
- XHS `--user-id <user_id>`: preferred when the creator ID is already known.
|
|
42
50
|
- XHS `--profile-url <profile_url_or_share_text>`: use for a profile URL, short link, or profile share text.
|
|
43
51
|
- Douyin `--sec-user-id <sec_user_id>`: preferred when the creator sec_user_id is already known.
|
|
44
52
|
- Douyin `--profile-url <profile_url_or_share_text>`: use for a profile URL, short link, or profile share text.
|
|
53
|
+
- Douyin `user-series`: use for a creator's short-drama series list instead of regular published works.
|
|
45
54
|
- `--page-token <next_page_token>`: opaque pagination token; pass back exactly the token returned by the previous page and do not reuse it across users.
|
|
46
55
|
- `--pretty`: output formatting only.
|
|
47
56
|
|
|
@@ -61,9 +70,11 @@ If MCP tools are already available in the current agent, use one of these tools:
|
|
|
61
70
|
- `xhs_get_user_posted_notes_by_profile_url`: use for profile URLs, short links, or profile share text.
|
|
62
71
|
- `douyin_get_user_posted_videos_by_sec_user_id`: preferred when `sec_user_id` is already known.
|
|
63
72
|
- `douyin_get_user_posted_videos_by_profile_url`: use for profile URLs, short links, or profile share text.
|
|
73
|
+
- `douyin_get_user_series_by_sec_user_id`: preferred for creator short-drama series when `sec_user_id` is already known.
|
|
74
|
+
- `douyin_get_user_series_by_profile_url`: use for creator short-drama series from profile URLs, short links, or profile share text.
|
|
64
75
|
|
|
65
|
-
Creator content-list pagination
|
|
76
|
+
Creator content-list and series pagination use `page_token`. Pass back exactly the returned `next_page_token`; tokens are bound to the current user and command family and should not be reused across users.
|
|
66
77
|
|
|
67
78
|
## Output Guidance
|
|
68
79
|
|
|
69
|
-
Summarize content-list evidence by title or description, summary, publish time, interaction counts, media links, and content type when present. For Douyin image/text posts, use `image_urls` rather than assuming a video playback URL exists. Use returned content IDs to chain into detail or comment analysis when needed.
|
|
80
|
+
Summarize content-list evidence by title or description, summary, publish time, interaction counts, media links, and content type when present. For Douyin image/text posts, use `image_urls` rather than assuming a video playback URL exists. For short-drama series, report series IDs, titles, descriptions, covers, prices, and author facts when present. Use returned content IDs to chain into detail or comment analysis when needed.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: socialdatax-content-research-assistant
|
|
3
|
+
description: Use when doing cross-platform content research, topic planning, competitor research, trend insight, comment insight, or creator research across Xiaohongshu, 小红书, XHS, RedNote, Douyin, and 抖音.
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
requires:
|
|
7
|
+
env:
|
|
8
|
+
- SOCIALDATAX_API_KEY
|
|
9
|
+
bins:
|
|
10
|
+
- node
|
|
11
|
+
- npm
|
|
12
|
+
primaryEnv: SOCIALDATAX_API_KEY
|
|
13
|
+
emoji: "🔎"
|
|
14
|
+
homepage: https://socialdatax.com/?from=npm
|
|
15
|
+
install:
|
|
16
|
+
- kind: node
|
|
17
|
+
package: "socialdatax-skills"
|
|
18
|
+
bins: []
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# SocialDataX Content Research Assistant
|
|
22
|
+
|
|
23
|
+
Use this skill to combine SocialDataX read-only research commands for Xiaohongshu / 小红书 / XHS / RedNote and Douyin / 抖音.
|
|
24
|
+
|
|
25
|
+
## API Key
|
|
26
|
+
|
|
27
|
+
Use `SOCIALDATAX_API_KEY` for SocialDataX requests. To get or manage an API Key, open <https://socialdatax.com/?from=npm> and follow the website API Key access flow.
|
|
28
|
+
获取或管理 API Key:访问 <https://socialdatax.com/?from=npm>,按官网的 API Key 申请/管理入口操作。环境变量名固定使用 `SOCIALDATAX_API_KEY`。
|
|
29
|
+
|
|
30
|
+
## Research Workflow
|
|
31
|
+
|
|
32
|
+
1. Start broad with keyword search or Douyin hot search.
|
|
33
|
+
2. Pick representative content IDs or URLs from the results.
|
|
34
|
+
3. Read details for factual context and metrics.
|
|
35
|
+
4. Read comments when the task needs audience language, objections, FAQs, sentiment themes, or demand signals.
|
|
36
|
+
5. Read creator profiles and creator content lists when the task needs account positioning, benchmarking, or content style analysis.
|
|
37
|
+
6. Report observed evidence separately from interpretation, and mention when results cover only one page.
|
|
38
|
+
|
|
39
|
+
## Direct CLI
|
|
40
|
+
|
|
41
|
+
Prefer direct CLI commands when the agent can run shell commands:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npx -y socialdatax-skills@latest xhs search --keyword "<keyword>" --pretty
|
|
45
|
+
npx -y socialdatax-skills@latest xhs detail --note-id "<note_id>" --pretty
|
|
46
|
+
npx -y socialdatax-skills@latest xhs comments --note-id "<note_id>" --pretty
|
|
47
|
+
npx -y socialdatax-skills@latest xhs user-info --user-id "<user_id>" --pretty
|
|
48
|
+
npx -y socialdatax-skills@latest xhs user-posts --user-id "<user_id>" --pretty
|
|
49
|
+
npx -y socialdatax-skills@latest douyin hot-search --pretty
|
|
50
|
+
npx -y socialdatax-skills@latest douyin search --keyword "<keyword>" --pretty
|
|
51
|
+
npx -y socialdatax-skills@latest douyin detail --aweme-id "<aweme_id>" --pretty
|
|
52
|
+
npx -y socialdatax-skills@latest douyin comments --aweme-id "<aweme_id>" --pretty
|
|
53
|
+
npx -y socialdatax-skills@latest douyin user-info --sec-user-id "<sec_user_id>" --pretty
|
|
54
|
+
npx -y socialdatax-skills@latest douyin user-posts --sec-user-id "<sec_user_id>" --pretty
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Use URL or share-text entrypoints when the user provides links instead of IDs:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npx -y socialdatax-skills@latest xhs detail --url "<note_url_or_share_text>" --pretty
|
|
61
|
+
npx -y socialdatax-skills@latest xhs comments --url "<note_url_or_share_text>" --pretty
|
|
62
|
+
npx -y socialdatax-skills@latest xhs user-info --profile-url "<profile_url_or_share_text>" --pretty
|
|
63
|
+
npx -y socialdatax-skills@latest xhs user-posts --profile-url "<profile_url_or_share_text>" --pretty
|
|
64
|
+
npx -y socialdatax-skills@latest douyin detail --url "<douyin_content_url_or_share_text>" --pretty
|
|
65
|
+
npx -y socialdatax-skills@latest douyin comments --url "<douyin_content_url_or_share_text>" --pretty
|
|
66
|
+
npx -y socialdatax-skills@latest douyin user-info --profile-url "<profile_url_or_share_text>" --pretty
|
|
67
|
+
npx -y socialdatax-skills@latest douyin user-posts --profile-url "<profile_url_or_share_text>" --pretty
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
For reply analysis:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
npx -y socialdatax-skills@latest xhs sub-comments --note-id "<note_id>" --comment-id "<comment_id>" --pretty
|
|
74
|
+
npx -y socialdatax-skills@latest douyin replies --aweme-id "<aweme_id>" --comment-id "<comment_id>" --pretty
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Safety Boundary
|
|
78
|
+
|
|
79
|
+
This skill is read-only. It does not read local browser data, does not save API keys, and does not perform login, posting, liking, commenting, or account changes. It wraps the public `socialdatax-skills` CLI and does not contain the hosted service implementation.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "SocialDataX Content Research"
|
|
3
|
+
short_description: "Research XHS and Douyin content"
|
|
4
|
+
default_prompt: "Use $socialdatax-content-research-assistant to research Xiaohongshu, XHS, RedNote, and Douyin content across search, details, comments, and creators."
|
|
5
|
+
|
|
6
|
+
policy:
|
|
7
|
+
allow_implicit_invocation: true
|