ViralEvo โ Viral Content Trend Advisor
Version: v0.6.4 | Languages: English / ไธญๆ
่ฏญ่จ่ฏดๆ / Language Support
ๆฌ Skill ๅฎๆดๆฏๆไธญๆๆไฝใๅฎ่ฃ ๅฎๆๅ๏ผไฝ ๅฏไปฅ๏ผ
- ็จไธญๆไธ Agent ๅฏน่ฏ๏ผ"ไปๅคฉ่ฏฅๅไปไนๅ ๅฎน๏ผ"๏ผ
- ๆฅๆถไธญๆ็ๆฏๆฅๆฅๅ
- ็จไธญๆๅ ณ้ฎ่ฏ็ๆงไธญๆๅนณๅฐๅ ๅฎน
- ๅจๅผๅฏผ่ฎพ็ฝฎๆถ้ๆฉ็้ข่ฏญ่จ
This skill fully supports both English and Chinese. During onboarding, the agent will ask which language you prefer.
What This Skill Does
ViralEvo monitors content platforms, scores trending topics using a weighted formula, predicts lifecycle windows, and automatically adjusts its own prediction weights every week based on how accurate it was.
Three core advantages over manual research:
- Catches trends 12โ48h early โ monitors signal velocity across 11 platforms simultaneously
- Learns from your results โ when you report your post outcomes, those signals feed back into the model
- Self-corrects weekly โ every Monday the system reviews its prediction errors and updates its weights automatically
Quick Start
After installation, add your Tavily API key:
echo "TAVILY_API_KEY=tvly-xxxx" >> ~/.openclaw/workspace/.env
Then tell your agent:
"Start ViralEvo setup"
โ or in Chinese โ
"ๅผๅง่ถๅฟ้ท่พพ่ฎพ็ฝฎ"
Or run onboarding directly:
node {baseDir}/scripts/onboarding.js
Natural Language Triggers
When the user reports post results (e.g. "got 80k views", "ๆๆๅพๅฅฝ"), the agent should:
- Search for the matching topic:
python3 {baseDir}/scripts/feedback.py --search "<keyword>" - Confirm the match with the user
- Log the result:
python3 {baseDir}/scripts/feedback.py --topic-id <id> --platform <platform> --views <n>
When the user says any of the following, the agent should run collect โ report:
- "What should I post today?" / "ไปๅคฉ่ฏฅๅไปไน๏ผ"
- "Any trends?" / "ๆไปไน่ถๅฟ๏ผ"
- "Show me the trend report" / "็ปๆ็่ถๅฟๆฅๅ"
- "What's trending in my niche?" / "ๆ็่ต้ๆไปไน็ญ็น๏ผ"
When the user says:
- "Run ViralEvo" / "่ฟ่ก่ถๅฟ้ท่พพ" โ run collect then report
- "Collect trends" / "้้่ถๅฟ" โ run collect only
- "Generate report" / "็ๆๆฅๅ" โ run report only
- "Weekly review" / "ๅจๅบฆๅค็" โ run weekly_review
- "Show keywords" / "ๆฅ็ๅ ณ้ฎ่ฏ" โ run keywords --show
Feedback Intake
When the user describes post results, always match to a recent topic, confirm before logging:
- "The hair clips video got 80k views on TikTok" โ match topic, log: views=80000, platform=tiktok
- "้ฃไธชAIๆ็ซ ๆๆๅพๅฅฝ๏ผๅฐ็บขไนฆ5000ๆถ่" โ ๅน้ ่ฏ้ข๏ผ่ฎฐๅฝ๏ผsaves=5000, platform=xiaohongshu
Use the /trend feedback command or natural language โ both are accepted.
Available Commands
| Command | Action |
|---|---|
node {baseDir}/scripts/onboarding.js | First-time setup wizard |
node {baseDir}/scripts/collect.js | Fetch trend signals from all sources |
python3 {baseDir}/scripts/report.py | Generate and output today's report |
python3 {baseDir}/scripts/verify.py --hours 24 | Verify yesterday's predictions |
python3 {baseDir}/scripts/verify.py --hours 72 | Verify 72h-old predictions |
python3 {baseDir}/scripts/weekly_review.py | Run self-evolution (Mondays recommended) |
python3 {baseDir}/scripts/keywords.py --show | View your keyword index |
python3 {baseDir}/scripts/keywords.py --add "term" | Add a keyword manually |
python3 {baseDir}/scripts/keywords.py --remove "term" | Remove a keyword |
python3 {baseDir}/setup.py | Check all system requirements |
python3 {baseDir}/scripts/feedback.py --list | List recent topics to log feedback for |
python3 {baseDir}/scripts/feedback.py --search "keyword" | Find a topic by keyword |
python3 {baseDir}/scripts/feedback.py --topic-id <id> --platform tiktok --views 80000 | Log post performance |
python3 {baseDir}/db/init_db.py | Re-initialize database (use if DB is corrupted) |
python3 {baseDir}/scripts/status.py | Quick health check โ config, API key, DB, recent data |
System Requirements
| Requirement | Minimum | Role |
|---|---|---|
| Node.js | v18+ | Data collection, onboarding |
| Python | 3.10+ | Scoring, reports, self-evolution |
| OpenClaw | v2026.1+ | Agent runtime, scheduling |
| Tavily API Key | Free tier | Indirect platform search |
Tavily free tier = 1,000 calls/month. Single niche daily usage โ 60โ120/month.
Supported Platforms
| Platform | Method | Confidence Cap |
|---|---|---|
| HackerNews | Official Algolia API | 1.00 |
| Dev.to | Official API | 1.00 |
| Product Hunt | RSS | 1.00 |
| JSON API (public) | 0.90 | |
| YouTube | Tavily search | 0.70 |
| Twitter / X | Tavily search | 0.70 |
| Tavily search | 0.70 | |
| Tavily search | 0.70 | |
| TikTok | Tavily search | 0.65 |
| Tavily search | 0.65 |
Supported Niches
AI/Tech ยท E-commerce ยท Beauty/Skincare ยท Fitness/Health ยท Finance ยท Gaming ยท Fashion/Lifestyle ยท Education ยท Real Estate ยท Pets ยท Custom (11 niches)
Scoring Formula
Total Score =
(Platform Signal Strength) ร W1 [default 0.25]
+ (Engagement Velocity) ร W2 [default 0.25]
+ (Cross-Platform Spread) ร W3 [default 0.20]
+ (Niche Relevance Score) ร W4 [default 0.15]
+ (Goal Alignment Score) ร W5 [default 0.15]
Constraints: W1+W2+W3+W4+W5 = 1.0 exactly
Each weight: floor=0.08, ceiling=0.45
Max change per weekly review: ยฑ0.05 (ยฑ0.10 after algorithm change detection)
Report Output Format
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ฅ ViralEvo | AI/Tech | 2026-03-09 08:15
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ด ACT NOW (Score > 80)
1. OpenClaw Security Issue โ 135k instances exposed
โโโโโโโโโโโโโโโโโโโโ 93% | Confidence: 0.85
๐
Detected 14h ago | Source: hackernews
โฐ Estimated window: ~42h remaining
๐ฏ Post: TODAY
๐ก PREPARE (Score 60โ80)
2. OpenAI Government Surveillance Controversy
โโโโโโโโโโโโโโโโโโโโ 78% | Confidence: 0.74
๐
Detected 6h ago | Source: dev.to
โฐ Estimated window: ~68h remaining
๐ฏ Post: Tomorrow morning
๐ข EVERGREEN (Score < 60)
3. MCP Protocol Enterprise Adoption
โโโโโโโโโโโโโโโโโโโโ 44% | Confidence: 0.79
๐
Steady growth โ no spike
โฐ Relevant: 30d+
๐ฏ Post: Any time this week
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Model Health
Accuracy : 58% (44 predictions)
Sources : 6/6 โ
Tavily usage : 112 / 1,000 this month
Keyword index: 1,203 terms
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Scheduling (Cron Setup)
ViralEvo runs automatically via OpenClaw's cron system. After onboarding, add these four jobs to your OpenClaw cron config.
How to add cron jobs in OpenClaw:
Tell your agent:
"Add a cron job to run ViralEvo daily at 8am"
Or add manually to ~/.openclaw/openclaw.json:
{
"cron": {
"jobs": [
{
"id": "viralevo-collect-report",
"schedule": "0 8 * * *",
"commands": [
"node ~/.openclaw/workspace/viralevo/scripts/collect.js",
"python3 ~/.openclaw/workspace/viralevo/scripts/report.py"
]
},
{
"id": "viralevo-verify-24h",
"schedule": "5 8 * * *",
"commands": ["python3 ~/.openclaw/workspace/viralevo/scripts/verify.py --hours 24"]
},
{
"id": "viralevo-verify-72h",
"schedule": "10 8 * * *",
"commands": ["python3 ~/.openclaw/workspace/viralevo/scripts/verify.py --hours 72"]
},
{
"id": "viralevo-weekly-review",
"schedule": "0 8 * * 1",
"commands": ["python3 ~/.openclaw/workspace/viralevo/scripts/weekly_review.py"]
}
]
}
}
See OpenClaw docs: https://docs.openclaw.ai/automation/cron-jobs
OpenClaw Config (Alternative API Key Setup)
Instead of using .env, you can configure your Tavily key via ~/.openclaw/openclaw.json:
{
"skills": {
"entries": {
"viralevo": {
"enabled": true,
"apiKey": "tvly-your-key-here"
}
}
}
}
Self-Evolution Loop
Daily verification (5 min and 65 min after your report time): re-fetches topics predicted 24h ago, compares predicted lifecycle vs actual activity, records error.
Weekly review (every Monday at your report time):
- Aggregates all predictions from past 7 days
- Calculates accuracy per platform, per topic type
- Identifies top 3 sources of systematic error
- Proposes weight adjustments (max ยฑ0.05 per weight)
- Applies new weights to config.json
- Writes report to
reports/YYYY-MM-DD_weekly.md - Auto-rolls back if accuracy drops for 2 consecutive weeks
Accuracy Expectations
| Period | Expected Accuracy |
|---|---|
| Week 1โ2 | 30โ40% (cold start) |
| Month 2 | 55โ65% |
| Month 3+ | 65โ75% |
| Month 6+ | 75%+ |
Accuracy = prediction within ยฑ20% of actual topic lifecycle.
Data Location
~/.openclaw/workspace/viralevo/
โโโ config.json โ niche, weights, schedule
โโโ user_profile.json โ onboarding answers, language
โโโ data/
โ โโโ trends.db โ SQLite database
โ โโโ backups/ โ daily snapshots, 7-day retention
โโโ reports/ โ daily + weekly markdown reports
โโโ logs/
โโโ execution.log
Privacy
All data is stored locally on your machine. The skill makes outbound network requests only to fetch public trend signals:
- HackerNews, Dev.to, Product Hunt, Reddit: public APIs, no auth required
- Tavily API: receives only search query strings โ no personal data transmitted
โ ๏ธ Disclaimers
ViralEvo provides probabilistic estimates based on publicly available signals. It does not guarantee specific outcomes in views, impressions, followers, or revenue. All predictions are directional guidance โ not the sole basis for business decisions. Platform APIs change without notice.
Uninstall
# Step 1: Remove skill from OpenClaw
openclaw skills remove viralevo
# Step 2: Delete local data (optional)
rm -rf ~/.openclaw/workspace/viralevo/
# Step 3: Verify
openclaw skills list
If you reinstall later without deleting Step 2, ViralEvo will resume from your existing data.
Troubleshooting
| Symptom | Fix |
|---|---|
| "Not configured" | Run node {baseDir}/scripts/onboarding.js |
| "TAVILY_API_KEY not set" | Add key to ~/.openclaw/workspace/.env |
| No topics in report | Run node {baseDir}/scripts/collect.js first |
| System check | Run python3 {baseDir}/setup.py |
| Accuracy dropping | Run python3 {baseDir}/scripts/weekly_review.py manually |
| Quick diagnosis | Run python3 {baseDir}/scripts/status.py |