Media Comments
Use this skill when the user wants comment mining, audience feedback, sentiment themes, objections, pain points, FAQ extraction, or discussion summaries for supported social media content.
Current platform support:
- Xiaohongshu / XHS / RedNote notes through the
xhs_get_note_comments_by_* and xhs_get_note_sub_comments_by_comment_id tools.
- 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.
- Kuaishou / 快手 works through the
kuaishou_get_video_comments_by_* and kuaishou_get_video_comment_replies_by_comment_id tools.
- Bilibili / 哔哩哔哩 / B站 comments through the
bilibili_get_content_comments_by_* and bilibili_get_content_comment_replies_by_comment_id tools.
- Zhihu / 知乎 comments through
zhihu_get_content_comments_by_url and zhihu_get_comment_replies_by_url.
- Instagram comments through
instagram_get_post_comments_by_post_url and instagram_get_post_comment_replies_by_comment_id.
- X / Twitter comments through the
x_get_post_comments_by_* and x_get_post_comment_replies_by_comment_id tools.
- YouTube comments through
youtube_get_video_comments_by_url and youtube_get_video_comment_replies.
- TikTok comments through the
tiktok_get_post_comments_by_* and tiktok_get_post_comment_replies tools.
- Weibo / 微博 posts through the
weibo_get_post_comments_by_* and weibo_get_post_comment_replies_by_comment_id tools.
- WeChat Channels / 视频号 videos through the
wechat_get_video_comments_by_* and wechat_get_video_comment_replies_by_comment_id tools.
API Key
Use SOCIALDATAX_API_KEY for SocialDataX requests. The only official website for requesting or managing API access is https://socialdatax.com/ai?from=github. If a user asks where to get a key, provide only this URL; do not infer alternate domains.
获取或管理 API Key:访问 https://socialdatax.com/ai?from=github,按官网的 API Key 申请/管理入口操作。环境变量名固定使用 SOCIALDATAX_API_KEY;不要引导用户使用其他域名。
Preferred Direct CLI
Prefer the direct CLI when the agent can run shell commands. It does not require MCP server configuration:
npx -y socialdatax-skills@latest xhs comments \
--note-id "<note_id>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-comments
npx -y socialdatax-skills@latest xhs comments \
--note-id "<note_id>" --all --include-replies --pretty \
--source-client socialdatax-skills --source-platform github \
--source-skill media-comments
npx -y socialdatax-skills@latest xhs comments \
--url "<note_url_or_share_text>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-comments
npx -y socialdatax-skills@latest xhs sub-comments \
--note-id "<note_id>" --comment-id "<comment_id>" --pretty \
--source-client socialdatax-skills --source-platform github \
--source-skill media-comments
npx -y socialdatax-skills@latest douyin comments \
--aweme-id "<aweme_id>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-comments
npx -y socialdatax-skills@latest douyin comments \
--aweme-id "<aweme_id>" --all --include-replies --pretty \
--source-client socialdatax-skills --source-platform github \
--source-skill media-comments
npx -y socialdatax-skills@latest douyin comments \
--url "<douyin_content_url_or_share_text>" --pretty \
--source-client socialdatax-skills --source-platform github \
--source-skill media-comments
npx -y socialdatax-skills@latest douyin replies \
--aweme-id "<aweme_id>" --comment-id "<comment_id>" --pretty \
--source-client socialdatax-skills --source-platform github \
--source-skill media-comments
npx -y socialdatax-skills@latest kuaishou comments \
--photo-id "<photo_id>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-comments
npx -y socialdatax-skills@latest kuaishou comments \
--photo-id "<photo_id>" --all --include-replies --pretty \
--source-client socialdatax-skills --source-platform github \
--source-skill media-comments
npx -y socialdatax-skills@latest kuaishou comments \
--url "<kuaishou_content_url_or_share_text>" --pretty \
--source-client socialdatax-skills --source-platform github \
--source-skill media-comments
npx -y socialdatax-skills@latest kuaishou replies \
--photo-id "<photo_id>" --comment-id "<comment_id>" --pretty \
--source-client socialdatax-skills --source-platform github \
--source-skill media-comments
npx -y socialdatax-skills@latest bilibili comments \
--content-id "<content_id>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-comments
npx -y socialdatax-skills@latest bilibili comments \
--url "<bilibili_content_url_or_share_text>" --pretty \
--source-client socialdatax-skills --source-platform github \
--source-skill media-comments
npx -y socialdatax-skills@latest bilibili replies \
--comment-object-id "<comment_object_id>" \
--comment-object-type "<comment_object_type>" --comment-id "<comment_id>" --pretty \
--source-client socialdatax-skills --source-platform github \
--source-skill media-comments
npx -y socialdatax-skills@latest zhihu comments \
--content-url "<zhihu_content_url_or_share_text>" --pretty \
--source-client socialdatax-skills --source-platform github \
--source-skill media-comments
npx -y socialdatax-skills@latest zhihu replies \
--content-url "<zhihu_content_url_or_share_text>" --comment-id "<comment_id>" \
--pretty --source-client socialdatax-skills --source-platform github \
--source-skill media-comments
npx -y socialdatax-skills@latest instagram comments \
--post-url "<instagram_post_url_or_share_text>" --pretty \
--source-client socialdatax-skills --source-platform github \
--source-skill media-comments
npx -y socialdatax-skills@latest instagram replies \
--post-id "<post_id>" --comment-id "<comment_id>" --pretty \
--source-client socialdatax-skills --source-platform github \
--source-skill media-comments
npx -y socialdatax-skills@latest x comments \
--post-id "<post_id>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-comments
npx -y socialdatax-skills@latest x comments \
--post-url "<x_post_url_or_share_text>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-comments
npx -y socialdatax-skills@latest x replies \
--post-id "<post_id>" --comment-id "<comment_id>" --pretty \
--source-client socialdatax-skills --source-platform github \
--source-skill media-comments
npx -y socialdatax-skills@latest youtube comments \
--url "<youtube_video_url>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-comments
npx -y socialdatax-skills@latest youtube replies \
--reply-token "<reply_token>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-comments
npx -y socialdatax-skills@latest tiktok comments \
--post-id "<post_id>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-comments
npx -y socialdatax-skills@latest tiktok comments \
--url "<tiktok_post_url_or_share_text>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-comments
npx -y socialdatax-skills@latest tiktok replies \
--post-id "<post_id>" --comment-id "<comment_id>" --pretty \
--source-client socialdatax-skills --source-platform github \
--source-skill media-comments
npx -y socialdatax-skills@latest weibo comments \
--post-id "<post_id>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-comments
npx -y socialdatax-skills@latest weibo comments \
--post-id "<post_id>" --all --include-replies --pretty \
--source-client socialdatax-skills --source-platform github \
--source-skill media-comments
npx -y socialdatax-skills@latest weibo comments \
--post-url "<weibo_post_url_or_share_text>" --pretty \
--source-client socialdatax-skills --source-platform github \
--source-skill media-comments
npx -y socialdatax-skills@latest weibo replies \
--post-id "<post_id>" --comment-id "<comment_id>" --pretty \
--source-client socialdatax-skills --source-platform github \
--source-skill media-comments
npx -y socialdatax-skills@latest wechat comments \
--object-id "<object_id>" --object-nonce-id "<object_nonce_id>" --pretty \
--source-client socialdatax-skills --source-platform github \
--source-skill media-comments
npx -y socialdatax-skills@latest wechat comments \
--object-id "<object_id>" --object-nonce-id "<object_nonce_id>" --all \
--include-replies --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-comments
npx -y socialdatax-skills@latest wechat comments \
--url "<wechat_video_url_or_share_text>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-comments
npx -y socialdatax-skills@latest wechat replies \
--object-id "<object_id>" --object-nonce-id "<object_nonce_id>" \
--comment-id "<comment_id>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-comments
Optional arguments:
- XHS
--note-id <note_id>: use the entire note_id returned from search, detail, comments, or creator note lists; do not pass only a prefix.
- XHS comments
--sort-type <default|time_descending|like_count_descending>: optional first-level comment sort order; omit it for the platform default order.
- Douyin
--aweme-id <aweme_id>: preferred when the video ID is already known and should anchor the comment thread.
- Use the URL entrypoint shown in the CLI example for a content page URL, short link, or share text for first-level comments.
- Douyin URL safety: do not pass
video.play_url; use a Douyin content page URL, short link, or share text instead.
--comment-id <comment_id>: required only for reply commands whose CLI example uses comment IDs; YouTube replies require the returned --reply-token <reply_token> instead.
--page-token <next_page_token>: opaque pagination token; pass the complete returned next_page_token back unchanged for the same content item or comment chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.
--pages <n>: fetch and merge N pages of first-level comments or replies.
--all: continue first-level comments or replies until next_page_token is empty; there is no default item or page cap.
--max-items <n>: stop after collecting N primary comments or replies.
- XHS, Douyin, Kuaishou, Weibo, and WeChat Channels / 视频号
comments --include-replies: for supported first-level comments commands, also fetch all second-level replies under each returned first-level comment.
--pretty: output formatting only.
- Kuaishou
--photo-id <photo_id>: preferred when the Kuaishou work photo_id is already known and should anchor the comment thread.
- Bilibili
--content-id <content_id>: preferred for first-level comments when the Bilibili content ID is already known.
- Bilibili
--url <bilibili_content_url_or_share_text>: use for a Bilibili video, article, dynamic, short link, or share text for first-level comments.
- Bilibili comments
--sort-type <hot|time_descending>: optional first-level comment sort order; omit it for default sorting.
- Bilibili replies
--comment-object-id <comment_object_id>, --comment-object-type <comment_object_type>, and --comment-id <comment_id>: use the reply identifiers returned from Bilibili first-level comments.
- Zhihu
--content-url <zhihu_content_url_or_share_text>: use for Zhihu first-level comments and replies; replies also require --comment-id <comment_id>.
- Zhihu comments
--sort-type <default|time_descending>: optional first-level comment sort order; omit it for default sorting.
- Instagram
--post-url <instagram_post_url_or_share_text>: use for first-level comments; replies require --post-id <post_id> and --comment-id <comment_id>.
- X / Twitter
--post-id <post_id> or --post-url <x_post_url_or_share_text>: use for first-level comments; replies require --post-id <post_id> and --comment-id <comment_id>.
- YouTube
--url <youtube_video_url>: use for first-level comments; replies require the returned --reply-token <reply_token>.
- YouTube comments
--sort-type <hot|time_descending>: optional first-level comment sort order; omit it for default sorting.
- TikTok
--post-id <post_id> or --url <tiktok_post_url_or_share_text>: use for first-level comments; replies require --post-id <post_id> and --comment-id <comment_id>.
- Weibo
--post-id <post_id>: preferred when the Weibo post ID is already known and should anchor the comment thread.
- Weibo
--post-url <weibo_post_url_or_share_text>: use for a Weibo post URL, short link, or share text for first-level comments.
- Weibo comments
--sort-type <hot|time_descending>: optional first-level comment sort order; omit it for the default hot order, and keep it unchanged when continuing with --page-token.
- WeChat Channels / 视频号
--object-id <object_id> and --object-nonce-id <object_nonce_id>: use together when both values are already known and should anchor the comment thread.
- WeChat Channels / 视频号
--url <wechat_video_url_or_share_text>: use for a WeChat Channels video link or share text for first-level comments.
--source-client socialdatax-skills --source-platform github --source-skill media-comments: usage attribution for this Agent Skill; keep these values unchanged when running examples from this Skill.
Use one first-level comment entrypoint shown in the CLI example at a time; do not mix multiple content identifiers in one command. For reply commands, use the platform-specific reply identifiers shown in the CLI example.
The command prints JSON with platform, tool, arguments, and data. Multi-page output keeps merged primary comments in data.items and adds page_count, item_count, and the next-page marker. On platforms that support --include-replies, each first-level comment includes replies, replies_page_count, and replies_next_page_token.
Safety Boundary
This skill is read-only. It uses SOCIALDATAX_API_KEY from the user's environment at runtime. Generated Skill files do not contain API keys. It does not read local browser data or perform login, posting, liking, commenting, or account changes.
MCP Tools
MCP tools matching the direct CLI commands above:
- XHS:
xhs_get_note_comments_by_note_id, xhs_get_note_comments_by_note_url, xhs_get_note_sub_comments_by_comment_id
- DOUYIN:
douyin_get_video_comments_by_aweme_id, douyin_get_video_comments_by_url, douyin_get_video_comment_replies_by_comment_id
- KUAISHOU:
kuaishou_get_video_comments_by_photo_id, kuaishou_get_video_comments_by_url, kuaishou_get_video_comment_replies_by_comment_id
- BILIBILI:
bilibili_get_content_comments_by_id, bilibili_get_content_comments_by_url, bilibili_get_content_comment_replies_by_comment_id
- ZHIHU:
zhihu_get_content_comments_by_url, zhihu_get_comment_replies_by_url
- INSTAGRAM:
instagram_get_post_comments_by_post_url, instagram_get_post_comment_replies_by_comment_id
- X:
x_get_post_comments_by_post_id, x_get_post_comments_by_post_url, x_get_post_comment_replies_by_comment_id
- YOUTUBE:
youtube_get_video_comments_by_url, youtube_get_video_comment_replies
- TIKTOK:
tiktok_get_post_comments_by_post_id, tiktok_get_post_comments_by_url, tiktok_get_post_comment_replies
- WEIBO:
weibo_get_post_comments_by_post_id, weibo_get_post_comments_by_post_url, weibo_get_post_comment_replies_by_comment_id
- WECHAT:
wechat_get_video_comments_by_object_id, wechat_get_video_comments_by_url, wechat_get_video_comment_replies_by_comment_id
If MCP tools are already available in the current agent, use one of these tools:
xhs_get_note_comments_by_note_id: use when the full note_id is known; do not pass only a prefix; optional sort_type accepts default, time_descending, or like_count_descending.
xhs_get_note_comments_by_note_url: use for note URLs, short links, or share text; optional sort_type accepts default, time_descending, or like_count_descending.
xhs_get_note_sub_comments_by_comment_id: use when the full note_id and first-level comment ID are known; do not pass only a note ID prefix.
douyin_get_video_comments_by_aweme_id: use when the aweme_id is known.
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.
douyin_get_video_comment_replies_by_comment_id: use when both aweme_id and first-level comment ID are known; use page_token to continue pagination.
Comment pagination uses opaque page_token values. Pass the complete returned next_page_token back unchanged for the same content item or comment chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses. Prefer CLI --pages and --all for multiple comment pages; use --include-replies only on XHS, Douyin, Kuaishou, Weibo, and WeChat Channels / 视频号 when the user asks for a full first-level plus second-level comment tree.
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.
kuaishou_get_video_comments_by_photo_id: use when the photo_id is known.
kuaishou_get_video_comments_by_url: use for Kuaishou work page URLs, short links, or share text.
kuaishou_get_video_comment_replies_by_comment_id: use when the photo_id and first-level comment ID are known.
For Kuaishou 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.
bilibili_get_content_comments_by_id: use when the Bilibili content_id is known; optional sort_type accepts hot or time_descending.
bilibili_get_content_comments_by_url: use for Bilibili video, article, dynamic, short link, or share text; optional sort_type accepts hot or time_descending.
bilibili_get_content_comment_replies_by_comment_id: use when comment_object_id, comment_object_type, and first-level comment ID are known.
zhihu_get_content_comments_by_url: use for Zhihu answer, article, or video URLs; optional sort_type accepts default or time_descending.
zhihu_get_comment_replies_by_url: use when the Zhihu content URL and first-level comment ID are known.
instagram_get_post_comments_by_post_url: use for Instagram post URLs.
instagram_get_post_comment_replies_by_comment_id: use when the Instagram post_id and first-level comment ID are known.
x_get_post_comments_by_post_id: use when the X post_id is known.
x_get_post_comments_by_post_url: use for X post URLs.
x_get_post_comment_replies_by_comment_id: use when the X post_id and first-level comment ID are known.
youtube_get_video_comments_by_url: use for YouTube video URLs; optional sort_type accepts hot or time_descending.
youtube_get_video_comment_replies: use the reply_token returned by YouTube first-level comments.
tiktok_get_post_comments_by_post_id: use when the TikTok post_id is known.
tiktok_get_post_comments_by_url: use for TikTok post URLs or share text.
tiktok_get_post_comment_replies: use when the TikTok post_id and first-level comment ID are known.
weibo_get_post_comments_by_post_id: use when the post_id is known; optional sort_type accepts hot or time_descending.
weibo_get_post_comments_by_post_url: use for Weibo post URLs, short links, or share text; optional sort_type accepts hot or time_descending.
weibo_get_post_comment_replies_by_comment_id: use when the post_id and first-level comment ID are known.
For Weibo 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.
wechat_get_video_comments_by_object_id: use when both object_id and object_nonce_id are known.
wechat_get_video_comments_by_url: use for WeChat Channels / 视频号 video links or share text.
wechat_get_video_comment_replies_by_comment_id: use when object_id, object_nonce_id, and first-level comment ID are known.
For WeChat Channels / 视频号 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.
Output Guidance
Group comments by observed themes before inferring sentiment or demand. Mention whether the result is one page or multiple pages. Empty comments can be a valid successful result.
For Douyin comment media, use image_urls for attached pictures. When sticker is present, sticker.static_url is a static preview when non-empty, and sticker.animated_url is the animated resource when non-empty.
For Bilibili comments, preserve returned comment_object_id and comment_object_type values so reply commands can use the same comment thread.
For YouTube comments, preserve returned reply_token values so reply commands can continue the correct thread.
For Zhihu, Instagram, X / Twitter, and TikTok comments, preserve returned post or content IDs and first-level comment IDs for reply commands.
For Weibo and WeChat Channels / 视频号 comments, preserve returned content IDs from first-level comments so reply commands can use the same content item and comment chain.
Troubleshooting
- If an SDK/dependency, npm network, Node.js/npm/npx availability, permission, or missing runtime error appears, treat it as a local runtime, dependency installation, network, or agent authorization issue, not a SocialDataX API key or business data error. If the current environment has permission, install or restore automatically. When network or execution authorization is needed, ask the user to approve or finish authorization, then continue the same command; do not use public web search as a substitute for SocialDataX data.
- For non-balance network or API errors, preserve the error message, check
SOCIALDATAX_API_KEY, parameters, and link or ID format, then retry once when appropriate.
- If the response returns
insufficient_balance or says the balance/credits are insufficient, do not retry repeatedly. Show the recharge URL from the error exactly as returned, then continue the same command after the user recharges.
- If the user has recharged but still sees insufficient balance, confirm
SOCIALDATAX_API_KEY belongs to the same account that was recharged; if needed, copy a fresh API Key from the official dashboard.
1---2name: media-comments3description: Fetch and analyze comments/replies for supported SocialDataX public platforms. This version is backed by hosted platform MCP services and supports Xiaohongshu / XHS / RedNote, Douyin, Kuaishou, Bilibili, Zhihu, Instagram, X / Twitter, YouTube, TikTok, Weibo, and WeChat Channels.4---5<!-- AUTO-GENERATED from socialdatax-skill-source. Do not edit directly; run `node scripts/generate_socialdatax_skills.mjs`. -->67# Media Comments89Use this skill when the user wants comment mining, audience feedback, sentiment themes, objections, pain points, FAQ extraction, or discussion summaries for supported social media content.1011Current platform support:1213- Xiaohongshu / XHS / RedNote notes through the `xhs_get_note_comments_by_*` and `xhs_get_note_sub_comments_by_comment_id` tools.14- 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.15- Kuaishou / 快手 works through the `kuaishou_get_video_comments_by_*` and `kuaishou_get_video_comment_replies_by_comment_id` tools.16- Bilibili / 哔哩哔哩 / B站 comments through the `bilibili_get_content_comments_by_*` and `bilibili_get_content_comment_replies_by_comment_id` tools.17- Zhihu / 知乎 comments through `zhihu_get_content_comments_by_url` and `zhihu_get_comment_replies_by_url`.18- Instagram comments through `instagram_get_post_comments_by_post_url` and `instagram_get_post_comment_replies_by_comment_id`.19- X / Twitter comments through the `x_get_post_comments_by_*` and `x_get_post_comment_replies_by_comment_id` tools.20- YouTube comments through `youtube_get_video_comments_by_url` and `youtube_get_video_comment_replies`.21- TikTok comments through the `tiktok_get_post_comments_by_*` and `tiktok_get_post_comment_replies` tools.22- Weibo / 微博 posts through the `weibo_get_post_comments_by_*` and `weibo_get_post_comment_replies_by_comment_id` tools.23- WeChat Channels / 视频号 videos through the `wechat_get_video_comments_by_*` and `wechat_get_video_comment_replies_by_comment_id` tools.2425## API Key2627Use `SOCIALDATAX_API_KEY` for SocialDataX requests. The only official website for requesting or managing API access is <https://socialdatax.com/ai?from=github>. If a user asks where to get a key, provide only this URL; do not infer alternate domains.28获取或管理 API Key:访问 <https://socialdatax.com/ai?from=github>,按官网的 API Key 申请/管理入口操作。环境变量名固定使用 `SOCIALDATAX_API_KEY`;不要引导用户使用其他域名。2930## Preferred Direct CLI3132Prefer the direct CLI when the agent can run shell commands. It does not require MCP server configuration:3334```bash35npx -y socialdatax-skills@latest xhs comments \36 --note-id "<note_id>" --pretty --source-client socialdatax-skills \37 --source-platform github --source-skill media-comments3839npx -y socialdatax-skills@latest xhs comments \40 --note-id "<note_id>" --all --include-replies --pretty \41 --source-client socialdatax-skills --source-platform github \42 --source-skill media-comments4344npx -y socialdatax-skills@latest xhs comments \45 --url "<note_url_or_share_text>" --pretty --source-client socialdatax-skills \46 --source-platform github --source-skill media-comments4748npx -y socialdatax-skills@latest xhs sub-comments \49 --note-id "<note_id>" --comment-id "<comment_id>" --pretty \50 --source-client socialdatax-skills --source-platform github \51 --source-skill media-comments5253npx -y socialdatax-skills@latest douyin comments \54 --aweme-id "<aweme_id>" --pretty --source-client socialdatax-skills \55 --source-platform github --source-skill media-comments5657npx -y socialdatax-skills@latest douyin comments \58 --aweme-id "<aweme_id>" --all --include-replies --pretty \59 --source-client socialdatax-skills --source-platform github \60 --source-skill media-comments6162npx -y socialdatax-skills@latest douyin comments \63 --url "<douyin_content_url_or_share_text>" --pretty \64 --source-client socialdatax-skills --source-platform github \65 --source-skill media-comments6667npx -y socialdatax-skills@latest douyin replies \68 --aweme-id "<aweme_id>" --comment-id "<comment_id>" --pretty \69 --source-client socialdatax-skills --source-platform github \70 --source-skill media-comments7172npx -y socialdatax-skills@latest kuaishou comments \73 --photo-id "<photo_id>" --pretty --source-client socialdatax-skills \74 --source-platform github --source-skill media-comments7576npx -y socialdatax-skills@latest kuaishou comments \77 --photo-id "<photo_id>" --all --include-replies --pretty \78 --source-client socialdatax-skills --source-platform github \79 --source-skill media-comments8081npx -y socialdatax-skills@latest kuaishou comments \82 --url "<kuaishou_content_url_or_share_text>" --pretty \83 --source-client socialdatax-skills --source-platform github \84 --source-skill media-comments8586npx -y socialdatax-skills@latest kuaishou replies \87 --photo-id "<photo_id>" --comment-id "<comment_id>" --pretty \88 --source-client socialdatax-skills --source-platform github \89 --source-skill media-comments9091npx -y socialdatax-skills@latest bilibili comments \92 --content-id "<content_id>" --pretty --source-client socialdatax-skills \93 --source-platform github --source-skill media-comments9495npx -y socialdatax-skills@latest bilibili comments \96 --url "<bilibili_content_url_or_share_text>" --pretty \97 --source-client socialdatax-skills --source-platform github \98 --source-skill media-comments99100npx -y socialdatax-skills@latest bilibili replies \101 --comment-object-id "<comment_object_id>" \102 --comment-object-type "<comment_object_type>" --comment-id "<comment_id>" --pretty \103 --source-client socialdatax-skills --source-platform github \104 --source-skill media-comments105106npx -y socialdatax-skills@latest zhihu comments \107 --content-url "<zhihu_content_url_or_share_text>" --pretty \108 --source-client socialdatax-skills --source-platform github \109 --source-skill media-comments110111npx -y socialdatax-skills@latest zhihu replies \112 --content-url "<zhihu_content_url_or_share_text>" --comment-id "<comment_id>" \113 --pretty --source-client socialdatax-skills --source-platform github \114 --source-skill media-comments115116npx -y socialdatax-skills@latest instagram comments \117 --post-url "<instagram_post_url_or_share_text>" --pretty \118 --source-client socialdatax-skills --source-platform github \119 --source-skill media-comments120121npx -y socialdatax-skills@latest instagram replies \122 --post-id "<post_id>" --comment-id "<comment_id>" --pretty \123 --source-client socialdatax-skills --source-platform github \124 --source-skill media-comments125126npx -y socialdatax-skills@latest x comments \127 --post-id "<post_id>" --pretty --source-client socialdatax-skills \128 --source-platform github --source-skill media-comments129130npx -y socialdatax-skills@latest x comments \131 --post-url "<x_post_url_or_share_text>" --pretty --source-client socialdatax-skills \132 --source-platform github --source-skill media-comments133134npx -y socialdatax-skills@latest x replies \135 --post-id "<post_id>" --comment-id "<comment_id>" --pretty \136 --source-client socialdatax-skills --source-platform github \137 --source-skill media-comments138139npx -y socialdatax-skills@latest youtube comments \140 --url "<youtube_video_url>" --pretty --source-client socialdatax-skills \141 --source-platform github --source-skill media-comments142143npx -y socialdatax-skills@latest youtube replies \144 --reply-token "<reply_token>" --pretty --source-client socialdatax-skills \145 --source-platform github --source-skill media-comments146147npx -y socialdatax-skills@latest tiktok comments \148 --post-id "<post_id>" --pretty --source-client socialdatax-skills \149 --source-platform github --source-skill media-comments150151npx -y socialdatax-skills@latest tiktok comments \152 --url "<tiktok_post_url_or_share_text>" --pretty --source-client socialdatax-skills \153 --source-platform github --source-skill media-comments154155npx -y socialdatax-skills@latest tiktok replies \156 --post-id "<post_id>" --comment-id "<comment_id>" --pretty \157 --source-client socialdatax-skills --source-platform github \158 --source-skill media-comments159160npx -y socialdatax-skills@latest weibo comments \161 --post-id "<post_id>" --pretty --source-client socialdatax-skills \162 --source-platform github --source-skill media-comments163164npx -y socialdatax-skills@latest weibo comments \165 --post-id "<post_id>" --all --include-replies --pretty \166 --source-client socialdatax-skills --source-platform github \167 --source-skill media-comments168169npx -y socialdatax-skills@latest weibo comments \170 --post-url "<weibo_post_url_or_share_text>" --pretty \171 --source-client socialdatax-skills --source-platform github \172 --source-skill media-comments173174npx -y socialdatax-skills@latest weibo replies \175 --post-id "<post_id>" --comment-id "<comment_id>" --pretty \176 --source-client socialdatax-skills --source-platform github \177 --source-skill media-comments178179npx -y socialdatax-skills@latest wechat comments \180 --object-id "<object_id>" --object-nonce-id "<object_nonce_id>" --pretty \181 --source-client socialdatax-skills --source-platform github \182 --source-skill media-comments183184npx -y socialdatax-skills@latest wechat comments \185 --object-id "<object_id>" --object-nonce-id "<object_nonce_id>" --all \186 --include-replies --pretty --source-client socialdatax-skills \187 --source-platform github --source-skill media-comments188189npx -y socialdatax-skills@latest wechat comments \190 --url "<wechat_video_url_or_share_text>" --pretty --source-client socialdatax-skills \191 --source-platform github --source-skill media-comments192193npx -y socialdatax-skills@latest wechat replies \194 --object-id "<object_id>" --object-nonce-id "<object_nonce_id>" \195 --comment-id "<comment_id>" --pretty --source-client socialdatax-skills \196 --source-platform github --source-skill media-comments197```198199Optional arguments:200201- XHS `--note-id <note_id>`: use the entire `note_id` returned from search, detail, comments, or creator note lists; do not pass only a prefix.202- XHS comments `--sort-type <default|time_descending|like_count_descending>`: optional first-level comment sort order; omit it for the platform default order.203- Douyin `--aweme-id <aweme_id>`: preferred when the video ID is already known and should anchor the comment thread.204- Use the URL entrypoint shown in the CLI example for a content page URL, short link, or share text for first-level comments.205- Douyin URL safety: do not pass `video.play_url`; use a Douyin content page URL, short link, or share text instead.206- `--comment-id <comment_id>`: required only for reply commands whose CLI example uses comment IDs; YouTube replies require the returned `--reply-token <reply_token>` instead.207- `--page-token <next_page_token>`: opaque pagination token; pass the complete returned `next_page_token` back unchanged for the same content item or comment chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.208- `--pages <n>`: fetch and merge N pages of first-level comments or replies.209- `--all`: continue first-level comments or replies until `next_page_token` is empty; there is no default item or page cap.210- `--max-items <n>`: stop after collecting N primary comments or replies.211- XHS, Douyin, Kuaishou, Weibo, and WeChat Channels / 视频号 `comments --include-replies`: for supported first-level comments commands, also fetch all second-level replies under each returned first-level comment.212- `--pretty`: output formatting only.213- Kuaishou `--photo-id <photo_id>`: preferred when the Kuaishou work photo_id is already known and should anchor the comment thread.214- Bilibili `--content-id <content_id>`: preferred for first-level comments when the Bilibili content ID is already known.215- Bilibili `--url <bilibili_content_url_or_share_text>`: use for a Bilibili video, article, dynamic, short link, or share text for first-level comments.216- Bilibili comments `--sort-type <hot|time_descending>`: optional first-level comment sort order; omit it for default sorting.217- Bilibili replies `--comment-object-id <comment_object_id>`, `--comment-object-type <comment_object_type>`, and `--comment-id <comment_id>`: use the reply identifiers returned from Bilibili first-level comments.218- Zhihu `--content-url <zhihu_content_url_or_share_text>`: use for Zhihu first-level comments and replies; replies also require `--comment-id <comment_id>`.219- Zhihu comments `--sort-type <default|time_descending>`: optional first-level comment sort order; omit it for default sorting.220- Instagram `--post-url <instagram_post_url_or_share_text>`: use for first-level comments; replies require `--post-id <post_id>` and `--comment-id <comment_id>`.221- X / Twitter `--post-id <post_id>` or `--post-url <x_post_url_or_share_text>`: use for first-level comments; replies require `--post-id <post_id>` and `--comment-id <comment_id>`.222- YouTube `--url <youtube_video_url>`: use for first-level comments; replies require the returned `--reply-token <reply_token>`.223- YouTube comments `--sort-type <hot|time_descending>`: optional first-level comment sort order; omit it for default sorting.224- TikTok `--post-id <post_id>` or `--url <tiktok_post_url_or_share_text>`: use for first-level comments; replies require `--post-id <post_id>` and `--comment-id <comment_id>`.225- Weibo `--post-id <post_id>`: preferred when the Weibo post ID is already known and should anchor the comment thread.226- Weibo `--post-url <weibo_post_url_or_share_text>`: use for a Weibo post URL, short link, or share text for first-level comments.227- Weibo comments `--sort-type <hot|time_descending>`: optional first-level comment sort order; omit it for the default `hot` order, and keep it unchanged when continuing with `--page-token`.228- WeChat Channels / 视频号 `--object-id <object_id>` and `--object-nonce-id <object_nonce_id>`: use together when both values are already known and should anchor the comment thread.229- WeChat Channels / 视频号 `--url <wechat_video_url_or_share_text>`: use for a WeChat Channels video link or share text for first-level comments.230- `--source-client socialdatax-skills --source-platform github --source-skill media-comments`: usage attribution for this Agent Skill; keep these values unchanged when running examples from this Skill.231232Use one first-level comment entrypoint shown in the CLI example at a time; do not mix multiple content identifiers in one command. For reply commands, use the platform-specific reply identifiers shown in the CLI example.233234The command prints JSON with `platform`, `tool`, `arguments`, and `data`. Multi-page output keeps merged primary comments in `data.items` and adds `page_count`, `item_count`, and the next-page marker. On platforms that support `--include-replies`, each first-level comment includes `replies`, `replies_page_count`, and `replies_next_page_token`.235236## Safety Boundary237238This skill is read-only. It uses `SOCIALDATAX_API_KEY` from the user's environment at runtime. Generated Skill files do not contain API keys. It does not read local browser data or perform login, posting, liking, commenting, or account changes.239240## MCP Tools241242MCP tools matching the direct CLI commands above:243244- XHS: `xhs_get_note_comments_by_note_id`, `xhs_get_note_comments_by_note_url`, `xhs_get_note_sub_comments_by_comment_id`245- DOUYIN: `douyin_get_video_comments_by_aweme_id`, `douyin_get_video_comments_by_url`, `douyin_get_video_comment_replies_by_comment_id`246- KUAISHOU: `kuaishou_get_video_comments_by_photo_id`, `kuaishou_get_video_comments_by_url`, `kuaishou_get_video_comment_replies_by_comment_id`247- BILIBILI: `bilibili_get_content_comments_by_id`, `bilibili_get_content_comments_by_url`, `bilibili_get_content_comment_replies_by_comment_id`248- ZHIHU: `zhihu_get_content_comments_by_url`, `zhihu_get_comment_replies_by_url`249- INSTAGRAM: `instagram_get_post_comments_by_post_url`, `instagram_get_post_comment_replies_by_comment_id`250- X: `x_get_post_comments_by_post_id`, `x_get_post_comments_by_post_url`, `x_get_post_comment_replies_by_comment_id`251- YOUTUBE: `youtube_get_video_comments_by_url`, `youtube_get_video_comment_replies`252- TIKTOK: `tiktok_get_post_comments_by_post_id`, `tiktok_get_post_comments_by_url`, `tiktok_get_post_comment_replies`253- WEIBO: `weibo_get_post_comments_by_post_id`, `weibo_get_post_comments_by_post_url`, `weibo_get_post_comment_replies_by_comment_id`254- WECHAT: `wechat_get_video_comments_by_object_id`, `wechat_get_video_comments_by_url`, `wechat_get_video_comment_replies_by_comment_id`255256If MCP tools are already available in the current agent, use one of these tools:257- `xhs_get_note_comments_by_note_id`: use when the full `note_id` is known; do not pass only a prefix; optional `sort_type` accepts `default`, `time_descending`, or `like_count_descending`.258- `xhs_get_note_comments_by_note_url`: use for note URLs, short links, or share text; optional `sort_type` accepts `default`, `time_descending`, or `like_count_descending`.259- `xhs_get_note_sub_comments_by_comment_id`: use when the full `note_id` and first-level comment ID are known; do not pass only a note ID prefix.260- `douyin_get_video_comments_by_aweme_id`: use when the aweme_id is known.261- `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`.262- `douyin_get_video_comment_replies_by_comment_id`: use when both aweme_id and first-level comment ID are known; use page_token to continue pagination.263264- Comment pagination uses opaque `page_token` values. Pass the complete returned `next_page_token` back unchanged for the same content item or comment chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses. Prefer CLI `--pages` and `--all` for multiple comment pages; use `--include-replies` only on XHS, Douyin, Kuaishou, Weibo, and WeChat Channels / 视频号 when the user asks for a full first-level plus second-level comment tree.265- 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.266- XHS reply pagination also uses `page_token` and is bound to the current comment.267- `kuaishou_get_video_comments_by_photo_id`: use when the photo_id is known.268- `kuaishou_get_video_comments_by_url`: use for Kuaishou work page URLs, short links, or share text.269- `kuaishou_get_video_comment_replies_by_comment_id`: use when the photo_id and first-level comment ID are known.270- For Kuaishou 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.271- `bilibili_get_content_comments_by_id`: use when the Bilibili content_id is known; optional `sort_type` accepts `hot` or `time_descending`.272- `bilibili_get_content_comments_by_url`: use for Bilibili video, article, dynamic, short link, or share text; optional `sort_type` accepts `hot` or `time_descending`.273- `bilibili_get_content_comment_replies_by_comment_id`: use when comment_object_id, comment_object_type, and first-level comment ID are known.274- `zhihu_get_content_comments_by_url`: use for Zhihu answer, article, or video URLs; optional `sort_type` accepts `default` or `time_descending`.275- `zhihu_get_comment_replies_by_url`: use when the Zhihu content URL and first-level comment ID are known.276- `instagram_get_post_comments_by_post_url`: use for Instagram post URLs.277- `instagram_get_post_comment_replies_by_comment_id`: use when the Instagram post_id and first-level comment ID are known.278- `x_get_post_comments_by_post_id`: use when the X post_id is known.279- `x_get_post_comments_by_post_url`: use for X post URLs.280- `x_get_post_comment_replies_by_comment_id`: use when the X post_id and first-level comment ID are known.281- `youtube_get_video_comments_by_url`: use for YouTube video URLs; optional `sort_type` accepts `hot` or `time_descending`.282- `youtube_get_video_comment_replies`: use the reply_token returned by YouTube first-level comments.283- `tiktok_get_post_comments_by_post_id`: use when the TikTok post_id is known.284- `tiktok_get_post_comments_by_url`: use for TikTok post URLs or share text.285- `tiktok_get_post_comment_replies`: use when the TikTok post_id and first-level comment ID are known.286- `weibo_get_post_comments_by_post_id`: use when the post_id is known; optional `sort_type` accepts `hot` or `time_descending`.287- `weibo_get_post_comments_by_post_url`: use for Weibo post URLs, short links, or share text; optional `sort_type` accepts `hot` or `time_descending`.288- `weibo_get_post_comment_replies_by_comment_id`: use when the post_id and first-level comment ID are known.289- For Weibo 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.290- `wechat_get_video_comments_by_object_id`: use when both object_id and object_nonce_id are known.291- `wechat_get_video_comments_by_url`: use for WeChat Channels / 视频号 video links or share text.292- `wechat_get_video_comment_replies_by_comment_id`: use when object_id, object_nonce_id, and first-level comment ID are known.293- For WeChat Channels / 视频号 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.294295## Output Guidance296297Group comments by observed themes before inferring sentiment or demand. Mention whether the result is one page or multiple pages. Empty comments can be a valid successful result.298For Douyin comment media, use `image_urls` for attached pictures. When `sticker` is present, `sticker.static_url` is a static preview when non-empty, and `sticker.animated_url` is the animated resource when non-empty.299For Bilibili comments, preserve returned comment_object_id and comment_object_type values so reply commands can use the same comment thread.300For YouTube comments, preserve returned reply_token values so reply commands can continue the correct thread.301For Zhihu, Instagram, X / Twitter, and TikTok comments, preserve returned post or content IDs and first-level comment IDs for reply commands.302For Weibo and WeChat Channels / 视频号 comments, preserve returned content IDs from first-level comments so reply commands can use the same content item and comment chain.303304## Troubleshooting305306- If an SDK/dependency, npm network, Node.js/npm/npx availability, permission, or missing runtime error appears, treat it as a local runtime, dependency installation, network, or agent authorization issue, not a SocialDataX API key or business data error. If the current environment has permission, install or restore automatically. When network or execution authorization is needed, ask the user to approve or finish authorization, then continue the same command; do not use public web search as a substitute for SocialDataX data.307- For non-balance network or API errors, preserve the error message, check `SOCIALDATAX_API_KEY`, parameters, and link or ID format, then retry once when appropriate.308- If the response returns `insufficient_balance` or says the balance/credits are insufficient, do not retry repeatedly. Show the recharge URL from the error exactly as returned, then continue the same command after the user recharges.309- If the user has recharged but still sees insufficient balance, confirm `SOCIALDATAX_API_KEY` belongs to the same account that was recharged; if needed, copy a fresh API Key from the official dashboard.