{
  "schemaVersion": "1.0",
  "item": {
    "slug": "sentiment-tracker",
    "name": "Sentiment Tracker",
    "source": "tencent",
    "type": "skill",
    "category": "数据分析",
    "sourceUrl": "https://clawhub.ai/ivangdavila/sentiment-tracker",
    "canonicalUrl": "https://clawhub.ai/ivangdavila/sentiment-tracker",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/sentiment-tracker",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=sentiment-tracker",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "memory-template.md",
      "setup.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "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."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "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."
        },
        {
          "label": "Upgrade existing",
          "body": "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."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/sentiment-tracker"
    },
    "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."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/sentiment-tracker",
    "agentPageUrl": "https://openagent3.xyz/skills/sentiment-tracker/agent",
    "manifestUrl": "https://openagent3.xyz/skills/sentiment-tracker/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/sentiment-tracker/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "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."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "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."
      },
      {
        "label": "Upgrade existing",
        "body": "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."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Sentiment Analysis",
        "body": "Track what people say about anything — brands, crypto, products, competitors — across Twitter/X, Reddit, YouTube, Hacker News, and news sites.\n\nOne-shot analysis for quick checks. Scheduled monitoring for ongoing tracking. Multi-entity dashboards to compare multiple things at once."
      },
      {
        "title": "Setup",
        "body": "On first use, read setup.md and follow its guidelines. Data is stored locally in ~/sentiment-analysis/."
      },
      {
        "title": "When to Use",
        "body": "User wants to know public opinion about something. Could be:\n\n\"What are people saying about [brand]?\"\n\"How's sentiment on [crypto] right now?\"\n\"Monitor [product] mentions and alert me on negative spikes\"\n\"Compare sentiment: [brand A] vs [brand B]\""
      },
      {
        "title": "Architecture",
        "body": "Data lives in ~/sentiment-analysis/. See memory-template.md for setup.\n\n~/sentiment-analysis/\n├── memory.md           # Config, entities, preferences\n├── entities/           # One file per tracked entity\n│   ├── brand-name.md\n│   └── crypto-xyz.md\n├── reports/            # Generated analysis reports\n│   └── YYYY-MM-DD-entity.md\n└── alerts.md           # Alert history"
      },
      {
        "title": "Quick Reference",
        "body": "TopicFileSetup processsetup.mdMemory templatememory-template.md"
      },
      {
        "title": "1. Source Diversity Matters",
        "body": "Never rely on a single platform. Each source has bias:\n\nTwitter/X: Real-time, emotional, viral content\nReddit: Longer discussions, honest opinions, niche communities\nYouTube: Comments show product experiences\nHacker News: Tech-focused, skeptical, early adopter views\nNews sites: Official narratives, PR-filtered\n\nUse at least 2-3 sources per analysis. Note source distribution in reports."
      },
      {
        "title": "2. Time Windows Change Everything",
        "body": "Sentiment shifts fast. Always specify and report time window:\n\nLast 24h: Breaking news, viral events\nLast 7d: Weekly trends, sustained campaigns\nLast 30d: Product launches, seasonal patterns\n\nDefault: Last 7 days unless user specifies otherwise."
      },
      {
        "title": "3. Quantify, Don't Guess",
        "body": "Every report includes concrete metrics:\n\n📊 Entity: [Name]\n🕐 Period: [Date range]\n📈 Volume: [X mentions found]\n😊 Positive: XX% | 😠 Negative: XX% | 😐 Neutral: XX%\n\nTop Themes:\n1. [Theme] — XX mentions, XX% negative\n2. [Theme] — XX mentions, XX% positive\n\nNotable Posts:\n- [Quote] — [Platform, engagement]"
      },
      {
        "title": "4. Alerts Are Specific",
        "body": "Don't alert on every change. Track baselines and alert on:\n\nNegative spike >20% above baseline\nViral negative post (>10x normal engagement)\nNew negative theme appearing\nCompetitor positive spike"
      },
      {
        "title": "5. Multi-Entity Comparison",
        "body": "When tracking multiple entities, always show relative performance:\n\n📊 Sentiment Comparison (Last 7d)\n\n| Entity | Volume | Positive | Negative | Trend |\n|--------|--------|----------|----------|-------|\n| Brand A | 1,240 | 62% | 18% | ↗️ +5% |\n| Brand B | 890 | 45% | 32% | ↘️ -8% |"
      },
      {
        "title": "6. Scheduled Monitoring",
        "body": "For ongoing tracking, use cron. Default schedules:\n\nCritical entities: Daily at 09:00\nRegular entities: Every 3 days\nBackground entities: Weekly\n\nStore schedule in memory.md. Deliver reports to user's preferred channel."
      },
      {
        "title": "7. Save Everything",
        "body": "After each analysis:\n\nUpdate entity file with new data\nCompare to previous analysis\nNote trend changes\nArchive raw findings"
      },
      {
        "title": "Common Traps",
        "body": "Single-source analysis → Completely skewed view. Reddit hates everything, Twitter loves drama. Always cross-reference.\nNo time window → \"Sentiment is positive\" means nothing without dates. A product can be loved one week, hated the next.\nVanity metrics → High volume ≠ positive sentiment. 1000 mentions with 80% negative is worse than 100 mentions with 60% positive.\nIgnoring context → A spike in \"crypto X is dead\" might be sarcasm or memes. Read actual posts, not just keyword counts.\nAlert fatigue → Alerting on every fluctuation makes users ignore alerts. Only signal meaningful changes."
      },
      {
        "title": "External Endpoints",
        "body": "EndpointData SentPurposeSearch engines (via web_search)Query textFind mentionsSocial platforms (via web_fetch)URL requestsRead content\n\nNo API keys required. No data stored externally. All analysis happens locally."
      },
      {
        "title": "Security & Privacy",
        "body": "Data that leaves your machine:\n\nSearch queries sent to web search (query text only)\nURL requests to public posts (reading only)\n\nData that stays local:\n\nAll entity tracking in ~/sentiment-analysis/\nHistorical sentiment data\nAlert configurations\n\nThis skill does NOT:\n\nRequire accounts on any platform\nStore data on external servers\nSend personal information anywhere\nAccess private/protected content"
      },
      {
        "title": "Related Skills",
        "body": "Install with clawhub install <slug> if user confirms:\n\nanalytics — web traffic and conversion data\nbranding — brand strategy and guidelines\nmonitor — system and service monitoring"
      },
      {
        "title": "Feedback",
        "body": "If useful: clawhub star sentiment-tracker\nStay updated: clawhub sync"
      }
    ],
    "body": "Sentiment Analysis\n\nTrack what people say about anything — brands, crypto, products, competitors — across Twitter/X, Reddit, YouTube, Hacker News, and news sites.\n\nOne-shot analysis for quick checks. Scheduled monitoring for ongoing tracking. Multi-entity dashboards to compare multiple things at once.\n\nSetup\n\nOn first use, read setup.md and follow its guidelines. Data is stored locally in ~/sentiment-analysis/.\n\nWhen to Use\n\nUser wants to know public opinion about something. Could be:\n\n\"What are people saying about [brand]?\"\n\"How's sentiment on [crypto] right now?\"\n\"Monitor [product] mentions and alert me on negative spikes\"\n\"Compare sentiment: [brand A] vs [brand B]\"\nArchitecture\n\nData lives in ~/sentiment-analysis/. See memory-template.md for setup.\n\n~/sentiment-analysis/\n├── memory.md           # Config, entities, preferences\n├── entities/           # One file per tracked entity\n│   ├── brand-name.md\n│   └── crypto-xyz.md\n├── reports/            # Generated analysis reports\n│   └── YYYY-MM-DD-entity.md\n└── alerts.md           # Alert history\n\nQuick Reference\nTopic\tFile\nSetup process\tsetup.md\nMemory template\tmemory-template.md\nCore Rules\n1. Source Diversity Matters\n\nNever rely on a single platform. Each source has bias:\n\nTwitter/X: Real-time, emotional, viral content\nReddit: Longer discussions, honest opinions, niche communities\nYouTube: Comments show product experiences\nHacker News: Tech-focused, skeptical, early adopter views\nNews sites: Official narratives, PR-filtered\n\nUse at least 2-3 sources per analysis. Note source distribution in reports.\n\n2. Time Windows Change Everything\n\nSentiment shifts fast. Always specify and report time window:\n\nLast 24h: Breaking news, viral events\nLast 7d: Weekly trends, sustained campaigns\nLast 30d: Product launches, seasonal patterns\n\nDefault: Last 7 days unless user specifies otherwise.\n\n3. Quantify, Don't Guess\n\nEvery report includes concrete metrics:\n\n📊 Entity: [Name]\n🕐 Period: [Date range]\n📈 Volume: [X mentions found]\n😊 Positive: XX% | 😠 Negative: XX% | 😐 Neutral: XX%\n\nTop Themes:\n1. [Theme] — XX mentions, XX% negative\n2. [Theme] — XX mentions, XX% positive\n\nNotable Posts:\n- [Quote] — [Platform, engagement]\n\n4. Alerts Are Specific\n\nDon't alert on every change. Track baselines and alert on:\n\nNegative spike >20% above baseline\nViral negative post (>10x normal engagement)\nNew negative theme appearing\nCompetitor positive spike\n5. Multi-Entity Comparison\n\nWhen tracking multiple entities, always show relative performance:\n\n📊 Sentiment Comparison (Last 7d)\n\n| Entity | Volume | Positive | Negative | Trend |\n|--------|--------|----------|----------|-------|\n| Brand A | 1,240 | 62% | 18% | ↗️ +5% |\n| Brand B | 890 | 45% | 32% | ↘️ -8% |\n\n6. Scheduled Monitoring\n\nFor ongoing tracking, use cron. Default schedules:\n\nCritical entities: Daily at 09:00\nRegular entities: Every 3 days\nBackground entities: Weekly\n\nStore schedule in memory.md. Deliver reports to user's preferred channel.\n\n7. Save Everything\n\nAfter each analysis:\n\nUpdate entity file with new data\nCompare to previous analysis\nNote trend changes\nArchive raw findings\nCommon Traps\nSingle-source analysis → Completely skewed view. Reddit hates everything, Twitter loves drama. Always cross-reference.\nNo time window → \"Sentiment is positive\" means nothing without dates. A product can be loved one week, hated the next.\nVanity metrics → High volume ≠ positive sentiment. 1000 mentions with 80% negative is worse than 100 mentions with 60% positive.\nIgnoring context → A spike in \"crypto X is dead\" might be sarcasm or memes. Read actual posts, not just keyword counts.\nAlert fatigue → Alerting on every fluctuation makes users ignore alerts. Only signal meaningful changes.\nExternal Endpoints\nEndpoint\tData Sent\tPurpose\nSearch engines (via web_search)\tQuery text\tFind mentions\nSocial platforms (via web_fetch)\tURL requests\tRead content\n\nNo API keys required. No data stored externally. All analysis happens locally.\n\nSecurity & Privacy\n\nData that leaves your machine:\n\nSearch queries sent to web search (query text only)\nURL requests to public posts (reading only)\n\nData that stays local:\n\nAll entity tracking in ~/sentiment-analysis/\nHistorical sentiment data\nAlert configurations\n\nThis skill does NOT:\n\nRequire accounts on any platform\nStore data on external servers\nSend personal information anywhere\nAccess private/protected content\nRelated Skills\n\nInstall with clawhub install <slug> if user confirms:\n\nanalytics — web traffic and conversion data\nbranding — brand strategy and guidelines\nmonitor — system and service monitoring\nFeedback\nIf useful: clawhub star sentiment-tracker\nStay updated: clawhub sync"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ivangdavila/sentiment-tracker",
    "publisherUrl": "https://clawhub.ai/ivangdavila/sentiment-tracker",
    "owner": "ivangdavila",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/sentiment-tracker",
    "downloadUrl": "https://openagent3.xyz/downloads/sentiment-tracker",
    "agentUrl": "https://openagent3.xyz/skills/sentiment-tracker/agent",
    "manifestUrl": "https://openagent3.xyz/skills/sentiment-tracker/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/sentiment-tracker/agent.md"
  }
}