Social Data
Use this skill for two related jobs:
fetch: collect public social posts from a specified platform and return structured, deduplicated items.analyze: calculate and interpret metrics from user-provided social posts, campaign exports, or fetched social samples.
Keep the two steps distinct. Fetching returns evidence samples; analysis turns user-provided or fetched data into metrics and recommendations.
When To Use
- The user asks what people are saying about a brand, product, competitor, topic, or pain point on Xiaohongshu, X/Twitter, Reddit, YouTube, or Bilibili.
- The user provides social post/campaign data and asks for engagement rate, CTR, ROI, ROAS, CPC, CPE, CPM, CPA, top/bottom posts, platform comparison, or content recommendations.
- The user wants social evidence for reputation, buzz, user complaints, market feedback, campaign performance, or next content experiments.
Do not use for:
- Private messages, login-gated content, paid API bypassing, scraping restricted pages, or non-public data.
- Claiming that zero fetched results means no discussion exists.
- Treating benchmark comparisons as facts without user-provided or current benchmark context.
- Replacing platform analytics exports when the user needs complete official reporting.
How To Call
Choose the mode:
fetch: user needs public posts or discussion samples.analyze: user already has post/campaign data or wants metrics/recommendations from fetched samples.fetch_then_analyze: user asks for a topic analysis and no data is provided.
For fetch mode:
- Follow
references/fetching.md. - One platform per script call:
xhs,twitter,reddit,youtube, orbilibili. - Expand the user's topic into 3-8 short divergent keyword groups unless the user explicitly restricts keywords.
- Report
diag.status, failures, empty results, and platform dependency limits.
- Follow
For analysis mode:
- Follow
references/metrics.md. - Validate fields before calculating.
- Label evidence as direct calculation, limited inference, or assumption.
- Separate organic and paid performance when possible.
- Follow
Use scripts only when useful:
- Fetch public samples:
$ORKAS_NODE $ORKAS_PC_DIR/bin/run-skill.cjs social-data fetch -- <platform> <keywords> [options] - Calculate metrics from JSON:
$ORKAS_NODE $ORKAS_PC_DIR/bin/run-skill.cjs social-data calculate_metrics -- data.json - Analyze performance from JSON:
$ORKAS_NODE $ORKAS_PC_DIR/bin/run-skill.cjs social-data analyze_performance -- data.json
- Fetch public samples:
Return traceable conclusions.
- Tie claims back to item URLs, post IDs, comments, or user-provided rows.
- Include data quality warnings and next tests.
- Do not synthesize sample posts when fetch fails.
Default Output
For fetched discussion:
# Social Data Fetch Result
## Scope
- Platform:
- Topic:
- Keywords:
- Status:
## Sample Summary
- Items:
- Top repeated themes:
- Notable examples:
## Diagnostics
- Raw hits:
- Deduplicated:
- Failed:
- Limits:
## Next Analysis
- ...
For performance analysis:
# Social Performance Analysis
## Bottom Line
## Data Quality
- Sample size:
- Missing fields:
- Abnormal values:
- Confidence:
## Key Metrics
| Metric | Value | Meaning | Evidence |
|---|---:|---|---|
## Top / Bottom Content
| Rank | Post | Platform | Format | Metric | Possible reason |
|---|---|---|---|---:|---|
## ROI And Cost
- Spend:
- Revenue / value:
- ROI:
- ROAS:
- CPC / CPE / CPA:
## Recommendations
1. ...
External Dependencies
- Python 3 for bundled scripts.
- Fetch mode may need
requests,browser_cookie3,curl_cffi,xreach,yt-dlp, or a local Xiaohongshu proxy depending on platform. - Analysis mode needs user-provided JSON, table data, or exported platform/campaign metrics.
Limits And Known Issues
- Fetch coverage varies by platform, login state, rate limits, anti-bot behavior, and local dependencies.
- Public fetches are samples, not complete platform analytics.
- Anonymous Reddit/Bilibili recall can be weak; browser login cookies may improve results.
- Xiaohongshu requires an external local proxy service at
http://localhost:18060. - ROI estimates based on engagement value are assumptions unless the user provides real revenue, conversion value, or lead value.
- Benchmark values can become stale and should be treated as rough context, not a pass/fail truth.