# Social Sentiment

> Sentiment analysis for brands and products across Twitter, Reddit, and Instagram. Monitor public opinion, track brand reputation, detect PR crises, surface complaints and praise at scale: analyze 70K+ posts with bulk CSV export and Python/pandas. Social listening and brand monitoring powered by billions of indexed posts.

- Skill: `xpozpublic/social-sentiment` (Agent Skill)
- Install (CLI): `npx skillmds@latest add xpozpublic/social-sentiment`
- Raw SKILL.md: https://api.skillmd.com/api/skills/xpozpublic/social-sentiment/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: XPOZpublic (https://skillmd.com/u/xpozpublic)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/xpozpublic/social-sentiment

---


# Social Sentiment

**Analyze brand sentiment from live social conversations at scale.**

Surfaces themes, flags viral complaints, compares competitors. Analyzes 1K-70K posts via bulk CSV + Python.

## Setup

Run `xpoz-setup` skill. Verify: `mcporter call xpoz.checkAccessKeyStatus`

## 4-Step Process

### Step 1: Search Platforms

Queries: (1) `"Brand"` (2) `"Brand" AND (slow OR buggy)` (3) `"Brand" AND (love OR amazing)`

```bash
mcporter call xpoz.getTwitterPostsByKeywords query='"Notion"' startDate="YYYY-MM-DD"
mcporter call xpoz.checkOperationStatus operationId="op_..." # Poll 5s
```

Repeat for Reddit/Instagram. Default: 30 days.

### Step 2: Download CSVs

Use `dataDumpExportOperationId`, poll with `checkOperationStatus` for download URL (up to 64K rows).

### Step 3: Analyze

Python/pandas:

```python
import pandas as pd
df = pd.read_csv('/tmp/twitter-sentiment.csv')

POSITIVE = ['love', 'amazing', 'best', 'recommend']
NEGATIVE = ['hate', 'terrible', 'worst', 'broken']

def classify(text):
    t = str(text).lower()
    pos = sum(1 for k in POSITIVE if k in t)
    neg = sum(1 for k in NEGATIVE if k in t)
    return 'positive' if pos>neg else ('negative' if neg>pos else 'neutral')

df['sentiment'] = df['text'].apply(classify)
```

Extract themes, find viral by engagement. Customize keywords.

### Step 4: Report

```
Sentiment: 72/100 | Posts: 14,832
😊 58% | 😠 24% | 😐 18%

Themes: Performance (2K, 81% neg), UX (1.8K, 72% pos)
Viral: [Top 10]
```

Score: Engagement-weighted, 0-100. Include insights.

## Tips

Download full CSVs | Reddit = honest | Store `data/social-sentiment/` for trends

