# Weekly Sentiment Summary

> Weekly sentiment summary of your product's social mentions with week-over-week comparison using Octolens. Produces a markdown report with sentiment score, highlights, lowlights, notable patterns, and competitor context. Use when the user asks for a weekly sentiment report, weekly social summary, or "how did mentions look this week".

- Skill: `warpdotdev/weekly-sentiment-summary-2` (Agent Skill)
- Install (CLI): `npx skillmds@latest add warpdotdev/weekly-sentiment-summary-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/warpdotdev/weekly-sentiment-summary-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: warpdotdev (https://skillmd.com/u/warpdotdev)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/warpdotdev/weekly-sentiment-summary-2

---


# Weekly Sentiment Summary

Bigger-picture view for growth, product, and devex teams. Typically run Monday morning covering the prior week.

Uses the **Octolens** MCP server.

## Workflow

### Step 1: Determine date ranges

- **This week**: the most recent completed Mon–Sun (or the user-specified range)
- **Prior week**: the 7 days immediately before this week

### Step 2: Fetch mentions for both weeks

1. Call `list_mentions_context` to get available keyword IDs and filter syntax.
2. Identify your product's keywords (look for keywords matching your product name, domain, and any known brand handles).

> **Setup required:** Configure your product's keyword identifiers in Octolens before using this skill.
3. For each week, query `list_mentions` with those keyword IDs, `relevance=[0]`, and the week's date range. Set `endDate` to the day after Sunday to ensure full coverage.
4. Set `includeAll: false` and `limit: 100`.
5. Paginate with `cursor` until exhausted or 500 mentions per week.

### Step 3: Aggregate both weeks

For each week, count:
- `pos`, `neu`, `neg` by sentiment
- `total = pos + neu + neg`
- Tag distribution (bug_report, user_feedback, competitor_mention, buy_intent, product_question, etc.)

### Step 4: Compute sentiment scores

For each week:
```
sentiment_score = ((pos - neg) / total) * 100
```

Range: -100 to +100. Round to nearest integer.

Compute deltas:
- `Δ volume = this_week_total - prior_week_total`
- `Δ score = this_week_score - prior_week_score`

Use `+` prefix for positive deltas, `-` for negative. Show as absolute numbers, not percentages.

### Step 5: Identify patterns by sentiment (this week only)

Before analyzing, filter out:
- **Employee posts** (replies from your company's team members to users)
- **Spam / reseller posts** (e.g. discounted subscription sellers, engagement bait)
- **Cross-post duplicates** (same content on Twitter and Bluesky — count once, prefer higher-reach version)

For each sentiment category (Positive, Neutral, Negative), identify **3-5 key themes or patterns** from this week. Focus on:
- What are users saying? What themes emerge?
- Are there patterns across multiple mentions?
- What's strategically meaningful vs. noise?

Writing style: same as daily skill — lead with pattern/theme, include mention count, provide 1-2 representative links.

**For Positive section only**: After pattern summaries, include 1-3 direct quotes that work as testimonials. Pick the most specific, enthusiastic quotes that show clear value. Format as:
```
_"[exact quote]"_ — <url|@username or source>
```

### Step 6: Identify notable patterns

Compare this week vs prior week. Look for:
- **Recurring themes**: topics/features/complaints that appeared multiple times this week
- **Trending tags**: tags with significant volume changes vs prior week
- **New signals**: topics that appeared this week but not last week

Max 5 patterns. Each should include a delta or comparison when possible (e.g. "AI agent mentions up from 3 → 12 this week").

### Step 7: Product feedback patterns

Scan this week's mentions tagged `user_feedback`, `bug_report`, `product_question` for **recurring product feedback themes**. Focus on specific features, workflows, or pain points mentioned multiple times.

Look for:
- Feature requests that appeared multiple times
- Specific bugs or technical issues with volume
- Pricing/credit feedback patterns
- UI/UX feedback themes

Summarize in 2–4 bullets with mention counts. Example: "Feature requests for BYOK on free plan (5 mentions)" or "UI lag complaints when long threads open (3 mentions)".

### Step 8: Write markdown report and create PR

1. Format the report as a markdown file (~500 words max) using the template below.
2. Save it to `reports/weekly_sentiment_analysis/weekly_sentiment_report_<end_date>.md` where `<end_date>` is the Sunday of the covered week in `YYYY-MM-DD` format.
3. Create a new branch, commit the report, push, and open a PR.

Markdown template:

```markdown
# Weekly Sentiment Summary — <start_date> → <end_date>

**<total>** mentions (**<Δ>** vs last week) | 🟢 <pos> · ⚪ <neu> · 🔴 <neg> | Score: **<score>** (**<Δ>**)

## Positive
- <pattern summary with count> — [link](url), [link](url)
- <pattern summary with count> — [link](url)
...

### Testimonials
> "<exact quote>" — [@username](url)
> "<exact quote>" — [@username](url)

## Neutral
- <pattern summary with count> — [link](url), [link](url)
- <pattern summary with count> — [link](url)
...

## Negative
- <pattern summary with count> — [link](url), [link](url)
- <pattern summary with count> — [link](url)
...

## Notable Patterns
- <pattern with week-over-week Δ>
- <pattern with week-over-week Δ>
...

## Product Feedback Patterns
- <specific product feedback theme with count>
- <specific product feedback theme with count>
...
```

Omit any section that has no meaningful content.

## Edge Cases

- **Low volume week** (<50 mentions): Still produce the report but note the low volume. Reduce highlight/lowlight counts proportionally.
- **First run (no prior week data)**: Skip deltas and comparisons — just report this week's absolute numbers and note that week-over-week comparison will be available next week.
- **Non-English mentions**: Include if noteworthy, with language/region context in the takeaway.
