# Send Sentiment Radar to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "sentiment-radar",
    "name": "Sentiment Radar",
    "source": "tencent",
    "type": "skill",
    "category": "数据分析",
    "sourceUrl": "https://clawhub.ai/Danielwangyy/sentiment-radar",
    "canonicalUrl": "https://clawhub.ai/Danielwangyy/sentiment-radar",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/sentiment-radar",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=sentiment-radar",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "scripts/analyze.py",
      "scripts/xhs_crawler.py",
      "scripts/dy_scrape.py",
      "references/report-template.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "sentiment-radar",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T03:36:55.924Z",
      "expiresAt": "2026-05-07T03:36:55.924Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=sentiment-radar",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=sentiment-radar",
        "contentDisposition": "attachment; filename=\"sentiment-radar-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "sentiment-radar"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/sentiment-radar"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/sentiment-radar",
    "downloadUrl": "https://openagent3.xyz/downloads/sentiment-radar",
    "agentUrl": "https://openagent3.xyz/skills/sentiment-radar/agent",
    "manifestUrl": "https://openagent3.xyz/skills/sentiment-radar/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/sentiment-radar/agent.md"
  }
}
```
## Documentation

### Sentiment Radar

Multi-platform social media sentiment collection and analysis.

### Supported Platforms

PlatformMethodAuth Required小红书 (XHS)MediaCrawler (CDP browser)QR code loginTwitterXpoz MCP (xpoz.getTwitterPostsByKeywords)OAuth tokenRedditXpoz MCP (xpoz.getRedditPostsByKeywords)OAuth token

### MediaCrawler (for 小红书)

If not installed:

git clone https://github.com/NanmiCoder/MediaCrawler ~/.openclaw/workspace/skills/media-crawler
cd ~/.openclaw/workspace/skills/media-crawler
uv sync
playwright install chromium

Config: config/base_config.py — set ENABLE_CDP_MODE = True, SAVE_DATA_OPTION = "json"

### Xpoz MCP (for Twitter/Reddit)

Requires mcporter with Xpoz OAuth configured. Token at ~/.mcporter/xpoz/tokens.json.

### Step 1: Define targets

Identify products/brands and search keywords. Example:

Products: Plaud录音笔, 钉钉闪记, 飞书录音豆
Keywords (XHS): Plaud录音笔,钉钉闪记,飞书妙记,AI录音笔评测,录音豆
Keywords (Twitter): Plaud NotePin, DingTalk recorder, Lark voice

### Step 2: Collect data

XHS collection

Run MediaCrawler with keywords. Use CDP mode (user's Chrome browser) for anti-detection.
The crawler needs QR code scan for login — run in background with exec(background=true).

cd skills/media-crawler
# Update keywords in config/base_config.py, then:
.venv/bin/python main.py --platform xhs --lt qrcode

Environment fixes for macOS:

export MPLBACKEND=Agg
export PATH="/usr/sbin:$PATH"

Data output: data/xhs/json/search_contents_YYYY-MM-DD.json and search_comments_YYYY-MM-DD.json

Twitter/Reddit collection

Use Xpoz MCP tools directly:

xpoz.getTwitterPostsByKeywords — returns posts with engagement metrics
xpoz.getRedditPostsByKeywords — returns posts with comments

### Step 3: Analyze

Run the analysis script on collected data:

python3 scripts/analyze.py \\
  --data ./data \\
  --products '{"Plaud": ["plaud","notepin"], "钉钉": ["钉钉","dingtalk","闪记"]}' \\
  --output report.md

The script performs:

Keyword distribution analysis (notes per keyword, total likes/collects)
Product mention frequency in comments
Sentiment classification (positive/negative/concern/neutral)
Top notes ranking by engagement
Price/subscription complaint extraction
Product comparison comment extraction

### Step 4: Report

The analysis outputs:

JSON results to stdout (for programmatic use)
Markdown report to --output path

Combine XHS + Twitter data into a comprehensive report. See references/report-template.md for structure.

### Key Analysis Dimensions

Sentiment split — positive vs negative vs concern ratio
Product mentions — which products get discussed most
Pricing complaints — subscription fatigue, value perception
Comparison comments — head-to-head user opinions
User pain points — feature requests, complaints, unmet needs
Engagement metrics — likes, collects, shares as popularity signals

### Notes

XHS data uses Chinese number format (e.g., "1.1万") — parse_count() in analyze.py handles this
MediaCrawler has 2s sleep between requests to avoid rate limiting
Each keyword returns ~20 notes per page (configurable in MediaCrawler config)
Comments are fetched per note automatically
For recurring monitoring, schedule via cron and compare against previous reports
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: Danielwangyy
- Version: 1.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-04-30T03:36:55.924Z
- Expires at: 2026-05-07T03:36:55.924Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/sentiment-radar)
- [Send to Agent page](https://openagent3.xyz/skills/sentiment-radar/agent)
- [JSON manifest](https://openagent3.xyz/skills/sentiment-radar/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/sentiment-radar/agent.md)
- [Download page](https://openagent3.xyz/downloads/sentiment-radar)