New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

You need to know what people are saying about a brand

Brand mention monitor

by swan-gtm · MIT license · ★ 159 on GitHub · updated Sep 23

Brand mention monitor cover

Use this skill when you need to know what people are saying about a brand across the web and social — "monitor brand mentions", "what are people saying about [brand] this week", "run a brand sweep", "social listening", "find high-risk…

---
name: brand-mention-monitor
title: Brand mention monitor
description: |
  Use this skill when you need to know what people are saying about a brand across
  the web and social — "monitor brand mentions", "what are people saying about
  [brand] this week", "run a brand sweep", "social listening", "find high-risk
  mentions", or "how does [brand] compare to [competitor] in the conversation".
  Sweeps social platforms, news, forums, and review sites; scores every mention on
  reach, velocity, sentiment, and risk-topic match; and produces a triage report
  bucketed into Crisis / Watch / Engage / Log with a suggested owner and response
  window for each mention, so the team responds before one spirals.
category: Signals
tags: [Marketing]
---

Run this when anyone needs eyes on the brand conversation — a routine weekly sweep, a launch-week watch, or a "something feels off" check. It produces a triage report: every mention scored on four dimensions, deduped against what previous runs already found, and bucketed into Crisis / Watch / Engage / Log with an owner and a response window.

Overview

Run this when anyone needs eyes on the brand conversation — a routine weekly sweep, a launch-week watch, or a "something feels off" check. It produces a triage report: every mention scored on four dimensions, deduped against what previous runs already found, and bucketed into Crisis / Watch / Engage / Log with an owner and a response window.

Manual install (npx, ZIP)
Claude Codenpx skills add swan-gtm/gtm-skills --skill brand-mention-monitor -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/swan-gtm/gtm-skills/tar.gz/e65d97205fd2 \ | tar -xz -C ~/.claude/skills --strip-components=3 gtm-skills-e65d97205fd2/skills/uri-knorovich/brand-mention-monitor
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/06edbfd82eba06dbe8a4/brand-mention-monitor.zip" -OutFile "$env:TEMP\brand-mention-monitor.zip"; Expand-Archive "$env:TEMP\brand-mention-monitor.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md8.1 KB
  • references/4 files · 19.2 KB
Read the files here
swan-gtm/e65d9725 files
SKILL.md
Show the full text86 lines

Run this when anyone needs eyes on the brand conversation — a routine weekly sweep, a launch-week watch, or a "something feels off" check. It produces a triage report: every mention scored on four dimensions, deduped against what previous runs already found, and bucketed into Crisis / Watch / Engage / Log with an owner and a response window.

Before the sweep — resolve, profile, confirm

Do two research steps before asking the user anything:

  1. Resolve brand variants. Search the live web for the brand's alternate spellings, hashtags, handles, product names, and sub-brands that get mentioned independently. For common-word brand names, find the disambiguating terms (industry, founder, domain) so the sweep doesn't pull unrelated noise. Fold every confirmed variant into the query list silently — never ask the user to supply this.
  2. Profile the brand. Establish B2B vs B2C, industry, primary geography and language, and rough audience size. This picks the source profile and calibrates scoring — "high reach" means something different for a niche B2B tool than for a consumer app with millions of users.

Replace before enabling: {{CRISIS_OWNER}} (who gets flagged on a Crisis hit) and {{ALERTS_CHANNEL}} (the team channel, if any, for Crisis/Watch pushes).

Then confirm scope in a single message: the brand as you understood it plus any competitors to track alongside, the date window (default: last 7 days), depth (quick scan vs deep sweep; default deep), and who gets flagged on a Crisis-tier hit ({{CRISIS_OWNER}} — a PR lead, legal, founder, or the marketing team by default). Skip the questions entirely when the user already provided the answers or a prior run in this workspace configured them. If the brand name is still ambiguous after research, confirm which entity is meant before running anything.

Pick the source profile

The single most important configuration step. Do not scan all platforms equally — weight the channels where this brand's audience actually talks. B2B brands live on LinkedIn, G2, Hacker News, and trade press; consumer brands on TikTok, Instagram, YouTube, and Trustpilot; regulated industries on wire services, regulatory watchdogs, and journalist accounts; regional brands on local-language platforms. Read references/source-playbook.md for the five market profiles and the full per-platform query patterns before building the query list.

Sweep

Fan out parallel searches, one stream per source group (social, news and press, review platforms, community forums), every query bounded to the confirmed date window. Run a shallow discovery pass first across all streams; extract full page or thread content only for candidates that look high-impact — that is where the scoring evidence (engagement counts, reply tone, author profile) comes from. Every pass runs three query families: broad brand queries, risk queries (lawsuit, outage, scam, recall — tuned to the industry), and opportunity queries (organic praise, purchase intent, comparison wins). If one stream fails, continue with the rest and name the gap in the report — never silently present a partial sweep as complete.

Score every mention

Four dimensions, each 0–100: reach (how many people can see this), velocity (how fast it is gaining ground — the differentiator between "viral forming" and "stale"), sentiment (scored separately for risk and opportunity), and risk-topic match (legal, safety, outage, executive controversy, misinformation). Composite:

composite = reach x 0.30 + velocity x 0.30 + max(risk_sentiment, risk_topic) x 0.25 + opportunity x 0.15

Dimension scores are additive rows capped at 100 each — see the rubric for the cap rule and why the Crisis bar sits at 65.

Velocity has an honesty gate: hourly growth rates need two data points. On a first pass with no baseline, score only observable proxies (cross-platform pickup, press pickup of a social post, crisis-scale absolute engagement) and label the velocity ~estimated. The full point tables, baseline rules, and the rapid re-check upgrade path are in references/scoring-rubric.md — read it before scoring anything.

Dedup against brand memory

Keep a running file per brand in your workspace. On each run, load it, fingerprint every found mention as {url, platform, published_date} (URLs normalized), and split the feed: net-new, returning-with-score-shift, and already-known-unchanged (suppressed to Log). Lead the report with the split: X net-new · Y returning (score changed) · Z suppressed. After the run, persist the new fingerprints and scores. Windowing, carry-forward, and cadence rules are in references/rerun-and-memory.md.

Tier and route

Assign every mention exactly one tier — teams act on tiers, not numbers.

Tier Score Action Suggested owner Window
Crisis 65+ Route immediately {{CRISIS_OWNER}} + legal + leadership Respond < 2h
Watch 45 up to 65 Assign owner, monitor velocity Marketing / comms Respond < 24h
Engage Any score, positive + high reach Amplify, thank, share Marketing / social team Act within 48h
Log < 45, no risk signals None — searchable record — —

Crisis mentions surface first, each as a full decision card: excerpt, all four scores, why it was flagged, who responds, by when, and a suggested draft action. If the user wants Crisis and Watch items pushed to a team channel ({{ALERTS_CHANNEL}}), post only those tiers — never the full feed.

Write the report

Follow references/output-format.md exactly: TL;DR up top, then the triage sections in fixed order, closing with a "What this means" section carrying one to three recommended actions, each tied to a tier and an owner. On a first run, note that a second pass in a few days establishes the velocity baseline and trend lines.

What good looks like

  • The best operator reads velocity before volume — a 40-minute-old post already at thousands of reposts outranks last week's big thread every time — and picks the source profile before writing a single query, because B2B risk hides in G2 review clusters while a generic sweep is busy reading consumer social noise.
  • The mediocre version is a flat list sorted by follower count: every platform weighted equally, velocity "scored" on a single snapshot with no baseline, homepages pasted as source links, and re-runs that re-report everything last week's run already surfaced.
  • Output is good when every Crisis card is actionable in 60 seconds (excerpt, exact link, reason, owner, window, draft action), the dedup summary line proves the run only surfaced what is new, and any mention can be re-found from its exact URL a month later.

Rules

  • MUST link every mention to the exact post/article/thread URL — never a platform homepage.
  • MUST label first-pass velocity scores ~estimated; hourly-rate points require a prior measurement.
  • MUST bound every query to the confirmed date window and state that window in the report header.
  • MUST persist mention fingerprints after every run and carry Crisis and Watch items forward until the user marks them handled.
  • NEVER fabricate engagement counts, follower numbers, or sentiment — when a value can't be verified from the page, say so on the card.
  • NEVER publish, post, or send any response on the brand's behalf — suggested actions are drafts that require explicit human approval.
  • NEVER suppress a returning mention as a duplicate when its composite score moved 10+ points — a score shift is news.
1---
2name: brand-mention-monitor
3title: Brand mention monitor
4description: |
5 Use this skill when you need to know what people are saying about a brand across
6 the web and social — "monitor brand mentions", "what are people saying about
7 [brand] this week", "run a brand sweep", "social listening", "find high-risk
8 mentions", or "how does [brand] compare to [competitor] in the conversation".
9 Sweeps social platforms, news, forums, and review sites; scores every mention on
10 reach, velocity, sentiment, and risk-topic match; and produces a triage report
11 bucketed into Crisis / Watch / Engage / Log with a suggested owner and response
12 window for each mention, so the team responds before one spirals.
13category: Signals
14tags: [Marketing]
15---
16 
17Run this when anyone needs eyes on the brand conversation — a routine weekly sweep, a launch-week watch, or a "something feels off" check. It produces a triage report: every mention scored on four dimensions, deduped against what previous runs already found, and bucketed into Crisis / Watch / Engage / Log with an owner and a response window.
18 
19## Before the sweep — resolve, profile, confirm
20 
21Do two research steps before asking the user anything:
22 
231. **Resolve brand variants.** Search the live web for the brand's alternate spellings, hashtags, handles, product names, and sub-brands that get mentioned independently. For common-word brand names, find the disambiguating terms (industry, founder, domain) so the sweep doesn't pull unrelated noise. Fold every confirmed variant into the query list silently — never ask the user to supply this.
242. **Profile the brand.** Establish B2B vs B2C, industry, primary geography and language, and rough audience size. This picks the source profile and calibrates scoring — "high reach" means something different for a niche B2B tool than for a consumer app with millions of users.
25 
26Replace before enabling: {{CRISIS_OWNER}} (who gets flagged on a Crisis hit) and {{ALERTS_CHANNEL}} (the team channel, if any, for Crisis/Watch pushes).
27 
28Then confirm scope in a single message: the brand as you understood it plus any competitors to track alongside, the date window (default: last 7 days), depth (quick scan vs deep sweep; default deep), and who gets flagged on a Crisis-tier hit ({{CRISIS_OWNER}} — a PR lead, legal, founder, or the marketing team by default). Skip the questions entirely when the user already provided the answers or a prior run in this workspace configured them. If the brand name is still ambiguous after research, confirm which entity is meant before running anything.
29 
30## Pick the source profile
31 
32The single most important configuration step. Do not scan all platforms equally — weight the channels where this brand's audience actually talks. B2B brands live on LinkedIn, G2, Hacker News, and trade press; consumer brands on TikTok, Instagram, YouTube, and Trustpilot; regulated industries on wire services, regulatory watchdogs, and journalist accounts; regional brands on local-language platforms. Read `references/source-playbook.md` for the five market profiles and the full per-platform query patterns before building the query list.
33 
34## Sweep
35 
36Fan out parallel searches, one stream per source group (social, news and press, review platforms, community forums), every query bounded to the confirmed date window. Run a shallow discovery pass first across all streams; extract full page or thread content only for candidates that look high-impact — that is where the scoring evidence (engagement counts, reply tone, author profile) comes from. Every pass runs three query families: broad brand queries, risk queries (lawsuit, outage, scam, recall — tuned to the industry), and opportunity queries (organic praise, purchase intent, comparison wins). If one stream fails, continue with the rest and name the gap in the report — never silently present a partial sweep as complete.
37 
38## Score every mention
39 
40Four dimensions, each 0–100: **reach** (how many people can see this), **velocity** (how fast it is gaining ground — the differentiator between "viral forming" and "stale"), **sentiment** (scored separately for risk and opportunity), and **risk-topic match** (legal, safety, outage, executive controversy, misinformation). Composite:
41 
42```
43composite = reach x 0.30 + velocity x 0.30 + max(risk_sentiment, risk_topic) x 0.25 + opportunity x 0.15
44 
45Dimension scores are additive rows capped at 100 each — see the rubric for the cap rule and why the Crisis bar sits at 65.
46```
47 
48Velocity has an honesty gate: hourly growth rates need two data points. On a first pass with no baseline, score only observable proxies (cross-platform pickup, press pickup of a social post, crisis-scale absolute engagement) and label the velocity `~estimated`. The full point tables, baseline rules, and the rapid re-check upgrade path are in `references/scoring-rubric.md` — read it before scoring anything.
49 
50## Dedup against brand memory
51 
52Keep a running file per brand in your workspace. On each run, load it, fingerprint every found mention as `{url, platform, published_date}` (URLs normalized), and split the feed: net-new, returning-with-score-shift, and already-known-unchanged (suppressed to Log). Lead the report with the split: `X net-new · Y returning (score changed) · Z suppressed`. After the run, persist the new fingerprints and scores. Windowing, carry-forward, and cadence rules are in `references/rerun-and-memory.md`.
53 
54## Tier and route
55 
56Assign every mention exactly one tier — teams act on tiers, not numbers.
57 
58| Tier | Score | Action | Suggested owner | Window |
59|---|---|---|---|---|
60| Crisis | 65+ | Route immediately | {{CRISIS_OWNER}} + legal + leadership | Respond < 2h |
61| Watch | 45 up to 65 | Assign owner, monitor velocity | Marketing / comms | Respond < 24h |
62| Engage | Any score, positive + high reach | Amplify, thank, share | Marketing / social team | Act within 48h |
63| Log | < 45, no risk signals | None — searchable record | — | — |
64 
65Crisis mentions surface first, each as a full decision card: excerpt, all four scores, why it was flagged, who responds, by when, and a suggested draft action. If the user wants Crisis and Watch items pushed to a team channel ({{ALERTS_CHANNEL}}), post only those tiers — never the full feed.
66 
67## Write the report
68 
69Follow `references/output-format.md` exactly: TL;DR up top, then the triage sections in fixed order, closing with a "What this means" section carrying one to three recommended actions, each tied to a tier and an owner. On a first run, note that a second pass in a few days establishes the velocity baseline and trend lines.
70 
71## What good looks like
72 
73- The best operator reads velocity before volume — a 40-minute-old post already at thousands of reposts outranks last week's big thread every time — and picks the source profile before writing a single query, because B2B risk hides in G2 review clusters while a generic sweep is busy reading consumer social noise.
74- The mediocre version is a flat list sorted by follower count: every platform weighted equally, velocity "scored" on a single snapshot with no baseline, homepages pasted as source links, and re-runs that re-report everything last week's run already surfaced.
75- Output is good when every Crisis card is actionable in 60 seconds (excerpt, exact link, reason, owner, window, draft action), the dedup summary line proves the run only surfaced what is new, and any mention can be re-found from its exact URL a month later.
76 
77## Rules
78 
79- MUST link every mention to the exact post/article/thread URL — never a platform homepage.
80- MUST label first-pass velocity scores `~estimated`; hourly-rate points require a prior measurement.
81- MUST bound every query to the confirmed date window and state that window in the report header.
82- MUST persist mention fingerprints after every run and carry Crisis and Watch items forward until the user marks them handled.
83- NEVER fabricate engagement counts, follower numbers, or sentiment — when a value can't be verified from the page, say so on the card.
84- NEVER publish, post, or send any response on the brand's behalf — suggested actions are drafts that require explicit human approval.
85- NEVER suppress a returning mention as a duplicate when its composite score moved 10+ points — a score shift is news.
86 
View all files on GitHub →

Details

Updated
Sep 23, 2026
License
MIT
Stars on the repo
★ 159
Checked
Source
swan-gtm/gtm-skills ↗
Creator
swan-gtm · 51 listings
View creator

Similar skills

See all →
SkillResearch what people actually say about any topicSTEP 0: STALE-CLONE SELF-CHECK — RUN BEFORE READING BELOWmvanhorn/last30days-skill · by mvanhornResearch what people actually say about any topic in the last 30 days. Pulls posts and engagement from Reddit, X, YouTube, TikTok, Hacker News, Polymarket, GitHub, and the web. Includes a doctor health check to diagnose broken or missing sources.★ 63.5k GitHub starsSkillScrapes social platforms, business dataApifydanielmiessler/LifeOS · by danielmiesslerScrapes social platforms, business data, and e-commerce via Apify actors — Instagram, LinkedIn, TikTok, YouTube, Facebook, Google Maps, Amazon, and web crawls — filtering in code. USE WHEN scrape Instagram, scrape LinkedIn, scrape TikTok, scrape YouTube, scrape Facebook, Google Maps leads, Amazon reviews, business intelligence, multi-platform social listening, competitive analysis, lead generation, social monitoring, Apify actors, web crawl, extract contacts. NOT FOR X/Twitter account operations like posting, threads, or bookmarks (those need a dedicated X API client), 4-tier progressive scraping with proxy escalation (use BrightData), or real-Chrome bot bypass and computer use (use Interceptor).★ 19.3k GitHub starsSkill微信公众号长文增长闭环 ——tsingyuai/growth-lab · by tsingyuai微信公众号长文增长闭环 —— 从读者问题与复刻锚选题、写出可验证的公众号长文、预览与合规检查、同步微信草稿、三重确认下受控发布,到回收阅读与转化数据并复盘。用户要求写公众号、把内容改成公众号、同步或发布微信草稿、查看公众号数据或复盘时使用。★ 2k GitHub starsSkillSearch and retrieve content from Twitter/XTwitter/X SkillReScienceLab/opc-skills · by ReScienceLabSearch and retrieve content from Twitter/X. Get user info, tweets, replies, followers, communities, spaces, and trends via twitterapi.io. Use when user mentions Twitter, X, or tweets.★ 1.8k GitHub starsSkillSays 'YouTube script', 'video script'🎬 YouTube Script: Writing retention-optimized video script...cwinvestments/memstack · by cwinvestmentsUse this skill when the user says 'YouTube script', 'video script', 'write script for YouTube', 'YouTube video outline', or is creating scripted content for a YouTube video with hooks, chapters, and CTAs. Do NOT use for TikTok/Reels short-form scripts or webinar presentations.★ 423 GitHub starsSkillAgent Reach — 互联网能力路由器Ootto-AI/claude-content-skills · by Ootto-AIMUST USE when user wants to 调研/research/搜索/search/查/找/look up anything on the internet — e.g. 全网调研 X / 帮我调研一下 X / 查一下 X / 搜搜 X / 看看大家怎么评价 X / X 上有什么讨论 / research this topic。 Also MUST USE when user mentions any platform or shares any URL/链接: 小红书/xiaohongshu/xhs, Twitter/推特/X, B站/bilibili, Reddit, V2EX, LinkedIn/领英/招聘/求职/jobs, YouTube, GitHub code search, 小宇宙播客, 雪球/股票行情, RSS feeds, or any web URL. 13 platforms, multi-backend routing (OpenCLI / per-platform CLIs / APIs). Zero config for 6 channels. Run `agent-reach doctor --json` to see which backend serves each platform right now. NOT for: 写报告/数据分析/翻译等内容加工(本 skill 只负责从互联网获取内容); 发帖/评论/点赞等写操作;已有专门 skill 的平台(先用专门 skill)。 【路由方式】SKILL.md 包含路由表和常用命令,复杂场景需按需阅读对应分类的 references/*.md。 分类:search / social (小红书/推特/B站/V2EX/Reddit) / career(LinkedIn) / dev(github) / web(网页/文章/RSS) / video(YouTube/B站/播客)。★ 139 GitHub stars

More from swan-gtm

SkillAn ABM program cannot prove engagement mattersAccount-Based Engagement Scoring and Buying Group Measurementswan-gtm/gtm-skills · by swan-gtmUse this skill when an ABM program cannot prove engagement matters, accounts get handed to sales on gut feel, or nobody knows which activity moves buying groups forward. Builds an account engagement score (weighted signals plus decay), maps buying group coverage across the decision-making unit, and defines explicit handover gates so marketing and sales agree on readiness. Produces a scoring model, a buying group tracker template, and a handover decision rule. Rule: without buying group visibility a high engagement score is a false positive; handover requires both the score and the coverage threshold met. Trigger phrases: ABM measurement, which accounts are hot, buying committee coverage, when do we hand this to sales, account engagement score, ABM ROI.★ 159 GitHub starsSkillWriting ad copy — headline formulas, visual directionAd Copywriting - Headline Formulas, Visual Design & Voice of Customerswan-gtm/gtm-skills · by swan-gtmUse this skill when writing ad copy — headline formulas, visual direction, and voice-of-customer sourcing that makes ads specific instead of generic.★ 159 GitHub starsSkillDefining ad personasAd Persona Frameworkswan-gtm/gtm-skills · by swan-gtmUse this skill when defining ad personas — translating ICP segments into the persona lens every ad, angle, and offer gets built against.★ 159 GitHub starsSkillA percentage in a commercial term is being set, questionedAudit the base not the rateswan-gtm/gtm-skills · by swan-gtmUse this skill when a percentage in a commercial term is being set, questioned, or is producing a number nobody expected — sales commission, revenue share, affiliate and creator payouts, channel margin, agency fees, referral fees, rebates. Triggers: "reps are hitting quota but margin isn't moving", "what does this promo actually cost us", "our partner payouts are higher than the model", "is 15% a fair rate", "we're renegotiating the split", "the comp plan is paying out on deals we lost money on". It finds what the percentage multiplies, identifies the condition under which that choice starts to matter, quantifies the gap at that condition, and identifies the clause to revisit.★ 159 GitHub starsSkillInbound leads arrive incomplete B2B Data Enrichment for Revenue Operationsswan-gtm/gtm-skills · by swan-gtmUse this skill when inbound leads arrive incomplete (missing company size, industry, revenue), the TAM list lacks data for scoring, or the CRM cannot route and segment without enrichment. Maps coverage gaps, compares single-source and waterfall provider strategies, and builds an integration roadmap with cost guardrails and quality gates. Produces a provider recommendation matrix, a waterfall architecture, and a go or no-go checklist. Rule: no single provider has full coverage; a waterfall across two or more providers in sequence beats any one source on match rate. Trigger phrases: data enrichment, leads come in with no company info, enrichment coverage, firmographic data, which enrichment tool, data freshness.★ 159 GitHub starsSkillAllocating paid budget by stageBudget Allocation by Stageswan-gtm/gtm-skills · by swan-gtmUse this skill when allocating paid budget by stage — testing vs scaling vs retargeting, and how the split shifts as spend grows.★ 159 GitHub stars