К основному содержанию
скилл CX Codex

tracking-brand-sentiment-across-platforms — скилл для Claude Code

Собирает посты о бренде в Twitter, Reddit и TikTok, считает тональность по каждой площадке и выдаёт общий балл здоровья бренда от 0 до 100.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add apidojo-io/apidojo-skills --skill tracking-brand-sentiment-across-platforms -a claude-code
Открыть на GitHub

Что делает tracking-brand-sentiment-across-platforms

Скилл запускает три скрапера Apify параллельно: apidojo~tweet-scraper для Twitter и Reddit, apidojo~tiktok-scraper для TikTok. Дальше каждый пост проходит лексическую классификацию на позитив, негатив и нейтрал, а вес голоса зависит от площадки: в Twitter это лайки и ответы, в Reddit — апвоуты и комментарии, в TikTok — просмотры и лайки.

Общий балл считается как взвешенная сумма: Reddit получает вес 0.40, Twitter 0.35, TikTok 0.25. Шкала от 0 до 100 разбита на зоны от «кризис» до «сильный». Если балл меняется больше чем на 20 пунктов, скилл помечает это как ALERT — повод проверить, не случилось ли что-то с репутацией прямо сейчас.

Перед запуском нужна переменная окружения APIFY_TOKEN. Ещё понадобится аккаунт Apify: скраперы работают через него, а не локально. Если бренд называется обычным словом вроде «Apple», поиск придётся уточнять — иначе в выборку попадёт всё подряд. Когда Reddit по бренду молчит, вес этой площадки обнуляется и перераспределяется между остальными.

Какие задачи решает

  • собрать картину упоминаний бренда сразу в трёх соцсетях
  • сравнить, как о продукте говорят в Twitter и в Reddit
  • получить один балл здоровья бренда вместо трёх разрозненных отчётов
  • поймать резкий перелом тональности после запуска продукта
  • вытащить самые заметные негативные и позитивные посты с темами

Примеры запросов агенту

  • проанализируй тональность упоминаний нашего бренда в Twitter, Reddit и TikTok за последний месяц
  • сравни sentiment по бренду между Twitter и Reddit, дай общий балл здоровья
  • собери отчёт по реакции на запуск продукта: топ негативных и позитивных постов по площадкам

Как установить tracking-brand-sentiment-across-platforms

1Через Skills CLI (Vercel)

npx skills add apidojo-io/apidojo-skills --skill tracking-brand-sentiment-across-platforms -a claude-code

2Вручную: положить файлы

~/.claude/skills/tracking-brand-sentiment-across-platforms/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/tracking-brand-sentiment-across-platforms/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о tracking-brand-sentiment-across-platforms

Как установить tracking-brand-sentiment-across-platforms в Claude?

Выполните npx skills add apidojo-io/apidojo-skills --skill tracking-brand-sentiment-across-platforms -a claude-code. Скилл окажется в ~/.claude/skills/tracking-brand-sentiment-across-platforms/SKILL.md.

Что делает tracking-brand-sentiment-across-platforms?

Прогоняет посты о бренде через скраперы Apify для Twitter, Reddit и TikTok, классифицирует тональность на каждой площадке и сводит всё в один балл от 0 до 100 с разбором тем и самых заметных постов.

Что нужно для работы скилла?

Переменная окружения APIFY_TOKEN и доступ к Apify — скраперы запускаются там. Опционально можно подключить Apify MCP-сервер, тогда вызовы идут через него.

Исходный текст

SKILL.md · Apache-2.0
---
name: tracking-brand-sentiment-across-platforms
description: >
  Tracks brand sentiment across Twitter Reddit and TikTok simultaneously using apidojo's scrapers
  on Apify. Triggers when the user asks to: monitor brand reputation across social platforms,
  track how people talk about a brand on multiple channels, compare brand sentiment on Twitter
  vs Reddit vs TikTok, get a cross-platform brand health score, monitor a product launch reaction
  across social media, measure overall public sentiment for a brand, or build a multi-platform
  social listening dashboard for a brand.
  Returns per-platform sentiment distribution, cross-platform score, top positive/negative posts, and theme analysis.
  Ideal for brand managers, CMOs, PR teams, and reputation management agencies.
license: Apache-2.0
metadata:
  author: apidojo
  version: "1.0"
  apify-actors: apidojo/tweet-scraper, apidojo/tweet-scraper, apidojo/tiktok-scraper
---

# Tracking Brand Sentiment Across Platforms

Monitors brand sentiment on Twitter, Reddit, and TikTok in parallel, then produces a unified brand health score. Each platform serves a different role: Twitter = real-time news/opinion, Reddit = deep community discussion, TikTok = Gen Z product culture.

## Prerequisites

- `APIFY_TOKEN` environment variable set
- Optional: Apify MCP server installed

## Inputs

| Parameter | Type | Required | Default | Notes |
|-----------|------|----------|---------|-------|
| `searchTerms` | array | ✅ | `[]` | Twitter advanced search queries (e.g. `["#AI lang:en", "from:NASA"]`) |
| `sort` | string | Optional | `Top` | Sort order: `Latest`, `Top`, or `Latest+Top` |
| `tweetLanguage` | string | Optional | — | ISO 639-1 language code (e.g. `en`) |
| `maxItems` | number | Optional | Unlimited | Maximum tweets to return |
| `onlyVerifiedUsers` | boolean | Optional | `false` | Only tweets from verified users |
| `onlyTwitterBlue` | boolean | Optional | `false` | Only Twitter Blue subscribers |
| `onlyImage` | boolean | Optional | `false` | Only tweets with images |
| `onlyVideo` | boolean | Optional | `false` | Only tweets with videos |
| `onlyQuote` | boolean | Optional | `false` | Only quote tweets |
| `author` | string | Optional | — | Filter to a specific author handle |
| `inReplyTo` | string | Optional | — | Tweets replying to a specific handle |
| `mentioning` | string | Optional | — | Tweets mentioning a specific handle |
| `geotaggedNear` | string | Optional | — | Tweets near a location |
| `withinRadius` | string | Optional | — | Radius around geotaggedNear |
| `geocode` | string | Optional | — | Lat/lng + radius string |
| `placeObjectId` | string | Optional | — | Tweets tagged with a place |
| `minimumRetweets` | number | Optional | — | Minimum retweet count |
| `minimumFavorites` | number | Optional | — | Minimum like count |
| `minimumReplies` | number | Optional | — | Minimum reply count |
| `start` | string | Optional | — | Tweets after this date (YYYY-MM-DD) |
| `end` | string | Optional | — | Tweets before this date (YYYY-MM-DD) |
| `includeSearchTerms` | boolean | Optional | `false` | Add the matched search term to each tweet |
| `customMapFunction` | string | Optional | — | JavaScript function to transform each output object |

## Workflow

```
Progress:
- [ ] Step 1: Run scrapers for all three platforms in parallel
- [ ] Step 2: Classify sentiment per platform
- [ ] Step 3: Calculate cross-platform brand health score
- [ ] Step 4: Identify top themes and alerts
- [ ] Step 5: Deliver unified report
```

### Step 1: Run Three Scrapers

**Twitter (If Apify MCP is available):**
```
Tool: apify:run-actor
Actor: "apidojo~tweet-scraper"
Input: {"searchTerms": ["[BRAND_NAME]"], "maxItems": 300, "tweetLanguage": "en"}
```

**Reddit:**
```
Tool: apify:run-actor
Actor: "apidojo~tweet-scraper"
Input: {"searches": ["[BRAND_NAME]"], "maxItems": 200, "sort": "new", "time": "month"}
```

**TikTok:**
```
Tool: apify:run-actor
Actor: "apidojo~tiktok-scraper"
Input: {"keywords": ["#[brandname]", "#[brandname]review"], "maxItems": 200}
```

**REST API fallback — run each sequentially:**
```bash
# Twitter
curl -X POST "https://api.apify.com/v2/acts/apidojo~tweet-scraper/runs?token=$APIFY_TOKEN"   -H "Content-Type: application/json"   -d '{"searchTerms": ["[BRAND_NAME]"], "maxItems": 300}'

# Reddit
curl -X POST "https://api.apify.com/v2/acts/apidojo~tweet-scraper/runs?token=$APIFY_TOKEN"   -H "Content-Type: application/json"   -d '{"searches": ["[BRAND_NAME]"], "maxItems": 200, "sort": "new", "time": "month"}'
```

### Step 2: Sentiment Classification

Use the same lexical model for all platforms (positive/negative/neutral indicators from `analyzing-twitter-sentiment-for-topic` skill). Weight by platform-specific engagement:
- Twitter: `likeCount + replyCount * 3`
- Reddit: `upvotes + commentCount * 2`
- TikTok: `playCount / 1000 + diggCount`

### Step 3: Brand Health Score

```
platform_sentiment[p] = (positive_count[p] - negative_count[p]) / total_count[p]  # range: -1 to +1

platform_weight = {twitter: 0.35, reddit: 0.40, tiktok: 0.25}  # Reddit = most considered opinion

brand_health_score = sum(platform_sentiment[p] * platform_weight[p] for p in platforms)
brand_health_score = (brand_health_score + 1) / 2 * 100  # normalize to 0-100
```

**Score interpretation:** 0–40 = Crisis, 40–55 = Concerning, 55–70 = Neutral, 70–85 = Positive, 85–100 = Strong.

### Step 4: Edge Cases

- **Brand name is a common word** (e.g. "Apple"): Add qualifier ("Apple iPhone", "Apple Inc") to search to reduce noise; report disambiguation rate
- **One platform dominates volume** (e.g. TikTok has 10× Twitter posts): Weight by volume in the composite score
- **Rapid sentiment shift** (score changes > 20 points): Flag as `ALERT` — may indicate PR crisis or viral positive moment
- **Reddit returns no results**: Brand may not be discussed there; set `reddit_weight = 0` and redistribute to other platforms

## Output Format

```
# Cross-Platform Brand Sentiment: [BRAND_NAME]
Period: [DATE_RANGE] | Total posts: [N] | Date: [DATE]

## Brand Health Score: [X]/100 — [INTERPRETATION]

## Per-Platform Breakdown
| Platform | Posts | Positive | Negative | Neutral | Score |
|----------|-------|----------|----------|---------|-------|
| Twitter | [N] | [X%] | [X%] | [X%] | [+/-X] |
| Reddit | [N] | [X%] | [X%] | [X%] | [+/-X] |
| TikTok | [N] | [X%] | [X%] | [X%] | [+/-X] |

## Top Negative Themes (Cross-Platform)
1. [Theme] — [N] posts across [platforms]
2. [Theme]

## Top Positive Themes
1. [Theme] — [N] posts
2. [Theme]

## Most Impactful Posts
🔴 Top negative: [platform] | [handle] | [N engagement] | "[excerpt]"
🟢 Top positive: [platform] | [handle] | [N engagement] | "[excerpt]"
```

## Troubleshooting

**Brand health score conflicts between platforms**: This is meaningful signal — discuss in output why platforms diverge (e.g. "Reddit community discusses product quality issues while TikTok shows positive unboxing content").
**Sample too small for reliable sentiment** (< 50 posts per platform): Widen date range or note low confidence in that platform's score.
**Brand name not found on a platform**: Some brands have no organic TikTok presence — note as gap in output.



**Recommended — run_actor.js (handles waiting, output, and file saving automatically):**
```bash
# Quick answer (prints table to chat)
node scripts/run_actor.js \
  --actor "apidojo~tweet-scraper" \
  --input '{"param": "value"}'

# Save as CSV
node scripts/run_actor.js \
  --actor "apidojo~tweet-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.csv --format csv

# Save as JSON
node scripts/run_actor.js \
  --actor "apidojo~tweet-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.json --format json
```
> `APIFY_TOKEN` must be set in environment or `.env` file.

© apidojo · Apache-2.0 · apidojo-io/apidojo-skills

Похожие скиллы

Всё по теме «Маркетинг и контент» →
brand-monitoring Nexscope AI Скилл собирает упоминания бренда в Reddit, Google News, YouTube и DuckDuckGo, считает тональность и показывает всплески негатива. CX Codex +1 1 100установок tiktok-research bradautomates Собирает видео отслеживаемых аккаунтов через Apify, находит выбросы по вовлечённости и разбирает топ-5 роликов с помощью ИИ. CX Codex +1 1 200установок x-twitter-scraper официальный github Помогает настроить работу с X API и парсерами через Xquik, Apify Actors или MCP-сервер. Пригодится для выгрузки твитов, подписчиков и обработки вебхуков. 80установок migrating-dbt-project-across-platforms dbt-labs Скилл помогает перенести dbt-проект между хранилищами данных с помощью dbt Fusion. Он находит различия в SQL-диалектах и сверяет логику через unit-тесты. CX Codex +1 526установок sentiment-analysis phuryn Разбирает отзывы, опросы и тикеты поддержки по сегментам аудитории. Считает тональность от -1 до +1 и формулирует задачи пользователей по фреймворку JTBD. CX Codex +1 3 100установок social-listening-brief ScrapeCreators Собирает публичные упоминания бренда, продукта или темы в Reddit, TikTok, YouTube и других платформах и делает отчёт с цитатами и темами. CX Codex +1 1 200установок

Из того же набора22

building-journalist-outreach-list-from-twitter Собирает контакты журналистов и медиа по заданной теме через скраперы Twitter/X на Apify. Пригодится для питча пресс-релиза или поиска авторов в нише. CX Codex +1 780установок finding-ecommerce-brands-for-outreach Собирает список e-commerce и DTC-брендов в Instagram и TikTok по хештегам товарной категории. Пригодится, когда нужна база для аутрича, а не ручной перебор профилей. CX Codex +1 776установок tracking-competitor-social-media-growth Собирает подписчиков и вовлечённость конкурентов в Twitter/X, TikTok и Instagram и сводит их в одну таблицу. Пригодится, когда нужно сравнить рост аккаунтов. CX Codex +1 771установок discovering-tiktok-shop-sellers-by-niche Скилл собирает карту продавцов и товаров TikTok Shop в выбранной нише: кто продвигает, что продаётся, где пробел. CX Codex +1 770установок finding-tiktok-creators-by-location Находит TikTok-авторов и их видео по геолокации через скрапер apidojo на Apify. Пригодится для локальных кампаний и регионального маркетинга. CX Codex +1 766установок tracking-google-serp-rankings Скилл собирает выдачу Google по списку ключевых слов: позиции, URL, заголовки, сниппеты и SERP-фичи. Пригодится для SEO-аудита и разбора конкурентов. CX Codex +1 763установок scraping-google-search-results Собирает результаты поиска Google по любому запросу: URL, заголовки, сниппеты, позиции и типы SERP-блоков. Пригодится, когда нужна сырая выдача для SEO или анализа конкурентов. CX Codex +1 759установок benchmarking-instagram-influencer-engagement Считает вовлечённость Instagram-аккаунтов и сравнивает их между собой: подписки, средние лайки и комментарии, ER, свежие посты. CX Codex +1 757установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой