Skill: analyzing-theme-comment (deep comment analysis)
Overview
This skill performs deep analysis of comment threads for a specified post or video in the game community, following a structured flow to produce a report covering trends, viewpoint distribution, and synthesis.
Prerequisites
- Tool: ae-community (ae-cli community commands)
- gameId: Must be explicit
- Channel: Know which channel hosts the target post/video
When to use
- Sentiment in a hot post’s comments
- Audience feedback after a video drop
- Viewpoint distribution for a specific topic
- Evaluating content performance and player mood
Execution flow
Step 1: Identify the target post or video
1.1 Check whether the user specified a target
Confirm the user provided:
- Post/video UUID
channelId- Resource type: post (
0) or video (1)
If yes, go to Step 2.
1.2 Search when no target is given
Use ae-cli community +search_posts:
ae-cli community +search_posts \
--space-id <space_id> --game-id <game_id> \
--start-time <yyyy-MM-dd> --end-time <yyyy-MM-dd> \
--search-word "<keyword>" \
--channel-id-list 1,2 \
--resource-type 0,1 \
--order-by 4 --page-num 1 --page-size 100
Key parameters:
| Flag | Required | Notes |
|---|---|---|
--space-id |
Yes | Space ID |
--game-id |
Yes | Game ID |
--start-time |
Yes | Lower bound, yyyy-MM-dd |
--end-time |
Yes | Upper bound, yyyy-MM-dd |
--search-word |
No | Keyword |
--channel-id-list |
No | Comma-separated channel IDs, for example 1,2 |
--resource-type |
No | Comma-separated types: 0 post, 1 video; for example 0,1 |
--order-by |
No | Use 4 to sort by heat descending |
--page-num |
No | Page number, starting at 1 |
--page-size |
No | Page size, maximum 10000 |
Channel reference:
| channelId | Name |
|---|---|
| 1 | TapTap |
| 2 | BiliBili |
| 3 | Douyin |
| 5 | |
| 7 | RedNote |
| 8 | HeyBox |
| 9 | Douyu |
| 11 | Tieba |
| 17 | Nga |
Logic:
- Search by keyword or hot topic
- Sort by heat; surface top items
- Have the user pick a target
- Capture UUID and channelId
Step 2: Fetch comments
2.1 Post/video detail
Use ae-cli community +get_post_detail:
ae-cli community +get_post_detail \
--space-id <space_id> --game-id <game_id> \
--channel-id <channel_id> --uuid <content_uuid> \
--resource-type <0_or_1> \
--reply-order-by 0 --reply-page-num 1 --reply-page-size 100
| Flag | Required | Notes |
|---|---|---|
--space-id |
Yes | Space ID |
--game-id |
Yes | Game ID |
--channel-id |
Yes | Channel ID |
--uuid |
Yes | Content UUID |
--resource-type |
Yes | 0 post, 1 video |
--reply-order-by |
No | 0 newest first, 1 oldest first |
--reply-page-num |
No | Comment page number, starting at 1 |
--reply-page-size |
No | Comment page size, maximum 10000 |
2.2 Paginate to completeness
- Fetch the first page with
--reply-page-num 1 --reply-page-size 100. - If the response indicates more comments, rerun the same command with
--reply-page-numincremented by one. - Repeat until the response indicates no next page; do not claim completeness before then.
- For video danmu, paginate independently with
--danmu-page-numand--danmu-page-sizewhen danmu is part of the requested analysis.
Filter out low-value replies:
- Spam / duplicates / flood
- Emoji-only or symbol-only (“???”, “!!!”)
- Fewer than 3 meaningful characters
- System/automated official messages
Record:
- Total vs. valid comment counts
- Time span
- Channel distribution if applicable
Step 3: Deep analysis
3.1 Trend
3.1.1 Time distribution (daily)
| Date | Comments | Cumulative |
|---|---|---|
| 2026-03-10 | 150 | 150 |
| … | … | … |
3.1.2 Sentiment by day
| Date | Positive | Neutral | Negative |
|---|---|---|---|
| 2026-03-10 | 0.45 | 0.35 | 0.20 |
| … | … | … | … |
3.2 Viewpoints
3.2.1 Method
- Cluster themes from valid text
- Surface recurring keywords/phrases
- Merge near-duplicates
- Split positive vs. negative stances
3.2.2 Viewpoint object
| Field | Description |
|---|---|
| Title | Short label (~20 chars) |
| Description | ~100 chars |
| Match count | Comments aligned with this view |
| Examples | Up to 10 representative quotes |
3.2.3 Opposing views
- Allow clear pro/con on the same subject
- Do not merge contradictions; list separately
Example:
Positive viewpoint 1
- Title: Roguelike mode praised
- Description: Players like the new roguelike loop for variety and replay value.
- Matches: 45
- Quotes: …
Negative viewpoint 1
- Title: Daily grind frustration
- Description: Some players say dailies take too long and mats are too scarce for low spenders.
- Matches: 38
- Quotes: …
3.3 Synthesis
3.3.1 Volume summary
- Total vs. valid counts
- Overall sentiment mix
- Peaks and likely drivers
- Optional benchmark vs. similar content
3.3.2 Viewpoint synthesis
- Dominant positive themes and reach
- Dominant negative themes and reach
- Conflict axes
- Core asks from players
3.3.3 Ecosystem
- Tone: harmonious / polarized / neutral
- Alignment with OP/video
- Audience segments and risks/opportunities
Output format
# Themed Comment Deep-Dive Report
## 1. Basics
- Title: [title]
- Channel: [name]
- Published: [time]
- Analysis window: [start] – [end]
- Valid comments: [X]
## 2. Trends
### 2.1 Time series
[table or narrative]
### 2.2 Sentiment mix
[table or narrative]
## 3. Viewpoints
### 3.1 Positive
[…]
### 3.2 Negative
[…]
## 4. Summary
### 4.1 Volume
### 4.2 Viewpoints
### 4.3 Ecosystem & recommendations
Notes
- Completeness: Paginate until all comments are retrieved.
- Quality: Strictly filter spam/noise.
- Objectivity: Ground clusters in actual text.
- Opposition: Preserve real splits in opinion.
- Representative quotes: Weight typicality, engagement, recency.
Error handling
| Situation | Action |
|---|---|
| Invalid gameId | Ask user to verify |
| Missing post/video | Verify UUID |
| Fetch failure | Retry; check connectivity |
| Fewer than 10 valid comments | Warn sample is thin; suggest another target |
| Invalid channelId | Show channel list |
Tool dependencies
| Tool | Role |
|---|---|
| ae-cli community +search_posts | Find posts/videos |
| ae-cli community +get_post_detail | Detail + comments |
| ae-cli community +get_comments_summary | Optional assist |