nimbleway/agent-skills/brand-mention-monitor

Claude Code and agent skill by nimbleway/agent-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Scans Reddit, X, LinkedIn, Instagram, TikTok, YouTube, blogs, news, and review platforms for brand mentions — scoring each across four dimensions (reach, velocity, sentiment, and risk-topic match) so teams can respond before one spirals. Sources adapt to the market: B2B brands weight LinkedIn, G2, and trade press; consumer brands weight TikTok, Instagram, and YouTube. Each is bucketed into Crisis / Watch / Engage / Log with a suggested owner and response window. Use when asked to "monitor brand mentions", "scan for brand mentions", "what are people saying about [brand]", "brand monitoring", "social listening", "run a brand sweep", "find high-risk mentions", or any variation of brand monitoring across web and social. Do NOT use for one-time company research or due diligence — use company-deep-dive instead. Do NOT use for competitor messaging/positioning analysis — use competitor-positioning instead. Do NOT use for funding/hiring/business signals on a competitor — use competitor-intel instead.

Install

npx vskill@latest install nimbleway/agent-skills/brand-mention-monitor

SKILL.md

Brand Mention Monitor

Scans the web and social media for brand mentions, scores each one on reach, velocity, sentiment, and risk-topic match, and surfaces the ones that need attention — bucketed into Crisis / Watch / Engage / Log with a suggested owner.


Onboarding message

When this skill is triggered for the first time in a session, send this message:

👋 Brand Mention Monitor is ready.
This skill scans Reddit, X, LinkedIn, Instagram, TikTok, YouTube, blogs, news, and review platforms for mentions of your brand — scoring each one across reach, velocity, sentiment, and risk so you see what matters before it spirals, and telling you exactly who should respond and how fast.
To start, just say:
_"Monitor mentions of [brand name]"_
Or try:
- "What are people saying about [brand] this week?"
- "Run a brand sweep for [brand] — last 30 days"
- "Find high-risk mentions of [brand]"
- "How does [brand] compare to [competitor] in the conversation?"
Would you like me to save your preferences so I skip the questions next time?

Preflight

Follow the transport selection and standard preflight from references/nimble-playbook.md: pick CLI vs MCP at session start, then run the parallel preflight calls (date, profile, memory index) simultaneously. Tag every Nimble CLI call: nimble --client-source nimble-agent-skills <subcommand>.

From the profile (~/.nimble/business-profile.json): load brand name, competitors, routing preferences, and last_runs.brand-mention-monitor for date windowing. Pre-populate setup questions so the user confirms rather than re-enters. If no profile exists, follow the first-run onboarding flow in references/profile-and-onboarding.md and create a stub after the first run. Check ~/.nimble/memory/index.md to understand what mention data already exists before sweeping.


How to start

Before asking anything, do two quick research steps:

Step A — Resolve brand variants automatically: Search for the brand the user named to discover all alternate spellings, hashtags, product names, handles, and common misspellings. Do not ask the user for this. Use what you find to build a comprehensive search term list for the sweep.

  • Search: "[brand name]" official name OR handle OR "also known as" OR hashtag
  • Check the brand's main product names and any sub-brands that get mentioned independently
  • For brands with common-word names, find the disambiguating terms (industry, founder, domain) so the sweep doesn't pull unrelated noise
  • Add all confirmed variants to your search queries silently — the user never needs to see this step

Step B — Profile the brand automatically: Search to establish the brand's industry, business model (B2B/B2C), geography, language, and audience before asking the user. This selects the market-specific source profile (see Step 0) and calibrates scoring — what counts as "high reach" differs for a niche B2B tool vs a consumer app with millions of users. Surface what you find and fold it into the confirmation question rather than asking blind.

  • Search: "[brand name]" company OR product industry OR category
  • Determine: B2B vs B2C, industry vertical, primary geography/language, rough audience size
  • Use this to pick the source profile and the default risk-topic dictionary for the industry

Then ask in a single message:

"Before I run — just confirming a few things:
1. Brand: I found [brand] — a [category] [B2B/B2C] company targeting [audience]. Is that right, and any competitors to track alongside it?
2. Date range: How far back should I look? (default: last 7 days — or give me a window like 'June 1–15' or 'since the launch')
3. Depth: Quick scan (faster) or deep sweep (more thorough, more sources)? (default: deep)
4. Routing: When I find a Crisis-tier mention, who should I flag it for? (default: marketing team — or name a PR lead, legal, founder, etc.)"

Output is always the triage console rendered directly in Claude. Do not ask about format or output options.

Exceptions — skip asking entirely if:

  • The user provided all the above in their initial message
  • The user has run this skill before in the session (use prior config)

Defaults if user says "just run it":

  • Date range: last 7 days
  • Depth: deep
  • Risk topics: auto-detected for the industry
  • Routing: flag to marketing team

Disambiguation: If the brand name is ambiguous after research, confirm before proceeding:

"Just to confirm — by [brand], do you mean [Option A] or [Option B]?"

Step 0 — Source profile (market-specific, not fixed list)

This is the most important configuration step. Source selection must match where the brand's audience actually talks. Do not scan all platforms equally — weight the channels that matter for this company type.

B2B enterprise software / SaaS

Primary (run every pass): LinkedIn, G2, Capterra, Hacker News, r/sysadmin, r/devops, r/[category], trade press (InfoQ, TechCrunch, ZDNet, The Register), Glassdoor (employee signal) Secondary: Reddit broad, X/Twitter (exec accounts, analysts), Medium/Substack Deprioritize: TikTok, Instagram, Facebook (low-signal for B2B buyers)

Consumer brand / e-commerce

Primary (run every pass): TikTok, Instagram, X/Twitter, Reddit, YouTube, Facebook, Trustpilot, Google Play / App Store Secondary: News press, blogs, Pinterest Deprioritize: HN, LinkedIn (low signal for consumer sentiment), trade press

Regulated industry (finance, healthcare, pharma, insurance)

Primary: News press (Reuters, AP, Bloomberg, sector-specific), regulatory watchdog sites, journalist Twitter accounts, LinkedIn exec commentary, formal review platforms (BBB, Consumer Financial Protection Bureau) Secondary: Reddit, X, forums Deprioritize: TikTok, Instagram (reputational risk from user-gen content is lower priority than press/regulatory)

Regional / non-English brand

Primary: Local-language news, regional forums and social platforms (e.g. Weibo for China, VK for Russia, Naver for Korea), local-language Twitter/Instagram Secondary: English-language global platforms only if relevant Note: Use Nimble locale and country parameters to surface local-language results

Startup / developer tool

Primary: HN, Reddit (r/programming, r/webdev, r/[category]), GitHub discussions, Dev.to, X/Twitter (developer influencers), ProductHunt Secondary: LinkedIn, Medium, TechCrunch


Step 1 — Mention sweep

For deep sweeps, fan out across source tiers using parallel sub-agents (max 4 concurrent) via the Agent tool — one agent per source group (e.g., social, review platforms, news, community). Follow the parallel-gathering pattern in references/nimble-playbook.md. Always include a fallback: if a sub-agent fails, continue with remaining agents and note the gap in the output.

Run sources matching the brand's profile (Step 0). Use --search-depth lite for discovery; use --search-depth deep for full content on high-score candidates. Apply --start-date / --end-date from the user's date range on every search call. Tag every call: nimble --client-source nimble-agent-skills search ...

Core queries (run for every brand type)
  • "[brand name]" site:reddit.com
  • "[brand name]" site:x.com
  • "[brand name]" news
  • "[brand name]" review OR complaint OR "doesn't work" — risk sweep
  • "[brand name]" love OR recommend OR "game changer" — opportunity sweep
  • Nimble focus:"social" query "[brand name]" — broad social
Risk-specific queries (run every pass)

Build from the risk topic dictionary for this brand type plus any user-specified topics:

  • "[brand name]" [risk topic 1]
  • "[brand name]" [risk topic 2]
  • "[brand name]" lawsuit OR legal OR "class action"
  • "[brand name]" outage OR "not working" OR down (for SaaS/tech)
  • "[brand name]" recall OR safety OR "side effects" (for consumer/pharma)
  • "[brand name]" scam OR fraud OR fake
Velocity check (run on high-score candidates — re-runs only)

For any mention that scored above 50 on a previous run, re-fetch the post to compare engagement counts. If this is a first-pass sweep with no prior baseline, skip hourly-rate velocity scoring — proxy signals only (see Step 2 velocity gating rules).


Step 2 — Scoring each mention (four dimensions)

Score every mention 0–100 on each dimension, then compute composite.

Reach / Visibility (0–100)

How many people can see this?

SignalPoints
500K+ followers / major publication+35
100K–500K followers+25
10K–100K followers+15
1K–10K followers+8
Under 1K+3
Thread with 100+ replies/comments+20
Post going viral (100+ reposts in <1h)+25
High-authority domain (TechCrunch, Reuters, etc.)+25
Reddit front page / 1K+ upvotes+25
Velocity (0–100) — the differentiator

How fast is this gaining ground? This is what separates "viral forming" from "stale."

Baseline requirement: Hourly-rate rows (+40/+25/+10) require two data points — a prior engagement count and the current count — to compute a real rate. On a first-pass single sweep you do not have a baseline. Apply the following rules:

  • Re-run with prior data (baseline available): use the full table below.
  • First-pass single sweep (no baseline): skip hourly-rate rows; score only observable proxy signals (cross-platform pickup, press pickup, absolute engagement thresholds). Set velocity label to ~estimated on the card so the user knows it is inferred, not measured.
SignalPointsRequires baseline?
Engagement climbing 50%+/hour vs. baseline+40Yes
Engagement climbing 20–50%/hour+25Yes
Engagement climbing 5–20%/hour+10Yes
Flat engagement+0Yes
Cross-platform pickup (mention appearing on 2+ platforms)+20No
Press picking up a social post+25No
2.3K+ reposts in 40 minutes (crisis velocity)+40No — observable in single sweep

Tier upgrade on rapid re-check: if re-running within 2 hours of a previous run, re-fetch every mention that scored Watch or higher and compare engagement counts. If engagement has grown 20%+ since last check, upgrade the tier and flag it ↑ accelerating. If flat or declining, note → stable or ↓ declining.

Sentiment (0–100 risk score; 0–100 opportunity score)
Negative signals (risk)Points
Explicit negative sentiment+20
Complaint + product/service failure language+20
Sarcasm detected ("great job [brand]…")+15
All-caps, exclamation marks, profanity+10
Replies amplifying the negative tone+15
Positive signals (opportunity)Points
Organic praise, unprompted+20
Purchase intent or recommendation+20
User-generated content shareable by brand+15
Journalist / analyst positive mention+20
Risk topic match (0–100)

Does this hit a flagged risk category?

Topic categoryPoints
Legal / regulatory / lawsuit / class action+40
Safety / health / injury / recall+40
Executive misconduct or controversy+35
Product outage or critical failure+30
Pricing / billing complaint (if viral)+20
Competitor comparison framing brand negatively+15
False claim / misinformation about brand+25
Composite score

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


Step 2.5 — Memory dedup (filter already-known mentions)

Before assigning tiers, run the dedup lifecycle from references/memory-and-distribution.md against prior brand-mention-monitor reports in ~/.nimble/memory/reports/.

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
50
Repository forks
16
7-day trend score
20

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/nimbleway/agent-skills/brand-mention-monitor/badge)](https://verified-skill.com/skills/nimbleway/agent-skills/brand-mention-monitor)

Something wrong with this skill or its page? Tell us.