From nimble
Monitors press, social, and developer communities during a product launch, tracking sentiment, flagging mischaracterizations, and surfacing competitor responses with action recommendations.
How this skill is triggered — by the user, by Claude, or both
Slash command
/nimble:launch-monitorThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Monitors press, social, and community forums from launch day — tracking sentiment, flagging mischaracterizations, surfacing competitor responses, and recommending actions so you can respond fast.
Monitors press, social, and community forums from launch day — tracking sentiment, flagging mischaracterizations, surfacing competitor responses, and recommending actions so you can respond fast.
When this skill is triggered for the first time in a session, send this message. Send it exactly once per session, before asking any setup questions. Do not skip it even when the user's opening message already names a product — the onboarding sets expectations for what the skill collects and how it works.
👋 Launch Monitor is ready.
This skill monitors press, social media, developer communities, and competitor channels around a product launch — tracking sentiment, flagging mischaracterizations, surfacing competitor responses, and telling you exactly what to respond to and how.
To start, just say: "Monitor the launch of [product name]"
Or try:
- "Track coverage since we announced [product] yesterday"
- "What's the reaction to our [product] launch?"
- "Flag any mischaracterizations in our [product] press coverage"
- "How are competitors responding to our [product] launch?"
Would you like me to save your preferences so I skip the questions next time?
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 skill-launch-monitor <subcommand>.
From the profile (~/.nimble/business-profile.json): load product/brand context and last_runs.launch-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.
Before asking anything, do two quick research steps:
Step A — Resolve alternate names automatically: Search for the product the user named to discover all alternate names, codenames, version names, and related search terms. Do not ask the user for this. Use what you find to build a comprehensive search term list for Step 1.
"[product name]" official name OR "also known as" OR codename OR versionStep B — Confirm launch date automatically: Search for when the product launched before asking the user. Surface what you find and ask the user to confirm or correct it.
"[product name]" launch date OR announced OR "available now" OR "shipping today"Then ask in a single message:
"Before I run — just confirming a couple of things:
- Launch date: I found that [product] launched on [DATE YOU FOUND] — is that the right date to monitor from, or a different one?
- Window: How far back should I look beyond that? (default: from launch date to now)
- Depth: Quick scan (faster) or deep sweep (more thorough, more sources)? (default: deep)
- Competitors: I'll monitor competitor responses by default — any specific competitors to prioritize or exclude?"
Output is always the Response War Room rendered directly in Claude. Do not ask about format or output options.
Exceptions — skip asking entirely if:
Defaults if user says "just run it":
Disambiguation: If the product name is ambiguous after research, confirm before proceeding:
"Just to confirm — by [product], do you mean [Option A] or [Option B]?"
Before searching, profile the product to adapt all queries:
Use this profile to:
Run all of the following in parallel. Use --search-depth lite for the discovery pass. Switch to --search-depth deep only when extracting full article or thread content. Tag every call: nimble --client-source skill-launch-monitor search ...
"[product name]" site:techcrunch.com"[product name]" site:theverge.com"[product name]" site:wired.com"[product name]" site:arstechnica.com"[product name]" site:venturebeat.com"[product name]" site:siliconangle.com"[product name]" site:theregister.com"[product name]" site:zdnet.com"[product name]" "[company name]" announcement OR launch OR releaseRun ALL of the following — social moves faster than press. Use focus:"social" on Nimble for broader platform reach. See references/sources.md Tier 2b for full query patterns per platform.
Reddit (run multiple subreddit-specific queries, not just the broad one):
"[product name]" site:reddit.com — broad"[product name]" site:reddit.com/r/[category] — category subreddit"[product name]" site:reddit.com/r/[company] — brand subreddit"[product name]" site:reddit.com/r/technology and other relevant subsfocus:"social" query "[product name]" redditX / Twitter:
"[product name]" site:x.com"[product name]" wrong OR broken OR disappointed site:x.com — complaint hunt"[product name]" "actually" OR correcting site:x.com — correction chainsLinkedIn:
"[product name]" site:linkedin.com"[product name]" launched OR "my take" site:linkedin.comInstagram:
focus:"social" query "[product name]" instagramTikTok:
focus:"social" query "[product name]" tiktok review OR reactionYouTube:
"[product name]" review OR reaction OR "first impressions" site:youtube.com"[product name]" problems OR issues site:youtube.comFacebook / Threads:
focus:"social" query "[product name]" facebook OR threadsHacker News:
"[product name]" site:news.ycombinator.comhn.algolia.com/?q=[product+name]&dateRange=last24hDev communities:
"[product name]" site:dev.to"[product name]" site:medium.com"[product name]" site:stackoverflow.com"[product name]" site:github.com — issues, discussions, reactions"[product name]" site:discord.com OR discord community"[product name]" site:hashnode.com[competitor A] "[product name]" OR "[category]" — how are they reacting?[competitor A] announcement OR response OR "compared to" — any counter-announcements?Run targeted queries designed to surface wrong information:
"[product name]" "[wrong claim to watch for]""[product name]" pricing OR price — check if pricing is being reported accurately"[product name]" vs "[wrong comparison]" — is it being compared to the wrong thing?"[product name]" "[capability it doesn't have]" — check for capability inflation or deflationFor every signal found, assign:
Urgency level:
Action badge:
RESPOND — requires a direct public response (tweet, comment, press outreach)CORRECT — requires a correction or clarification (DM, comment, press note)AMPLIFY — worth sharing, retweeting, or building onESCALATE — needs to go to comms, legal, or leadershipWATCH — no action yet but track for escalationIGNORE — filtered noiseSignal type:
Source URL — required for every signal: Every signal must include the exact URL returned by Nimble for that article, thread, or post. This URL powers the clickable ↗ source link on each card. A homepage URL is useless to the user.
CORRECT — exact article/thread/post URLs:
https://techcrunch.com/2026/06/11/nimble-mcp-connector-launchhttps://news.ycombinator.com/item?id=12345678https://reddit.com/r/MachineLearning/comments/abc123/is_nimble_just_another_scraperhttps://x.com/[username]/status/[POST_ID]WRONG — never use these:
https://techcrunch.comhttps://news.ycombinator.comhttps://reddit.comhttps://x.comUse the URL exactly as Nimble returns it in the search result. Do not fabricate a URL.
For every piece of coverage that gets something wrong, extract:
Track how sentiment is trending over time since launch:
Before generating output, run the dedup lifecycle from references/memory-and-distribution.md against prior launch-monitor reports in ~/.nimble/memory/reports/.
Skill-specific rules:
{url, signal_type, published_date} — normalize URLs (strip query params, trailing slashes).↩ returning · urgency changed badge.X net-new · Y returning (urgency changed) · Z suppressed.~/.nimble/memory/reports/launch-monitor-{YYYY-MM-DD}.md and append a log.md entry per references/memory-and-distribution.md.Claude MUST follow references/template.html exactly when generating the HTML output. Load the template, substitute real researched data into placeholders, keep all CSS, JS, and interaction patterns identical.
Every launch-monitor response must follow this structure, in order:
## TL;DR — first section, always. Two to three sentences: overall sentiment read (positive / mixed / negative / trending), count of act-now items, and the single most urgent signal or mischaracterization. Example: "Sentiment is mixed-to-negative in the first 48 hours, with 5 act-now items. The dominant risk is the 'Gemini reskin' framing spreading across HN and press. Three mischaracterizations are active, two spreading."## What This Means — final section, always. Two to three sentences synthesizing what the signal pattern implies for launch trajectory and the single most important action for the team to take right now.The Response War Room is an interactive widget that must be rendered inline in the chat. A downloadable file is a secondary artifact, never the primary deliverable. Follow this sequence exactly, every run:
launch-monitor-{YYYY-MM-DD}.html to ~/.nimble/ using the Write tool, then emit the HTML content inline in the conversation so the user sees the interactive widget immediately. This inline output is the main deliverable and must happen before anything else is offered.~/.nimble/launch-monitor-{YYYY-MM-DD}.html and ~/.nimble/launch-monitor-{YYYY-MM-DD}.md have been saved and offer them to the user for download or sharing.Hard rules:
If the inline output genuinely cannot be produced:
~/.nimble/launch-monitor-{YYYY-MM-DD}.html as the fallback.Never silently fall back to a download — if inline fails, name the failure so the user knows it was the environment, not the intended behavior.
launch-monitor-{YYYY-MM-DD}.html)The Response War Room has a distinct visual identity from all other skills:
#A32D2D / Amber #854F0B / Green #3B6D11 for urgency — matches the CSS variable palette<a href="[EXACT_NIMBLE_URL]" class="src-link">↗ source</a> — color #185FA5, no border/background, click listener on sc-top (not sc) so links pass throughRequired sections in order:
0. Launch header bar Full-width bar showing: product name · launch date · time since launch · total signals found · last updated timestamp
1. Sentiment velocity chart A small line chart (not bars) showing signal volume over time since launch, split into positive (green line) and negative (red line). X-axis = time intervals. Y-axis = signal count. Hoverable data points showing count + top signal at that moment. Click a point to filter the signal feed to that time window.
2. Signal feed — the war room The main panel. Signal cards displayed in a responsive grid that packs 2–3 cards across by available width (it auto-fills columns rather than forcing a fixed count, so the feed stays compact and never collapses to a single long column). Cards are sorted by urgency (🔴 first, then 🟡, then 🟢). Each card shows:
.sc-header)margin-top:auto and a top border so all cards in a row align visually.sc-top, not .sc, so source link clicks pass through)Grid layout CSS: .feed { display:grid; grid-template-columns:repeat(auto-fill,minmax(215px,1fr)); gap:8px } — auto-fill packs as many ~215px columns as fit (2–3 across at typical render widths), keeping the feed short. Do not change this back to a fixed repeat(2,...), which can collapse to one column at narrow widths.
.no-sigs spans both columns: grid-column:1/-1
Filter bar above the feed:
All filters stack. Signal count updates live. "No signals match" empty state spans full width.
3. Mischaracterization tracker A dedicated panel — only shown if mischaracterizations were found. Two-column layout:
Left column: The claim (what was said, source, reach) Right column: The correction (accurate version + suggested response text)
Each row has a COPIED button that copies the suggested correction to clipboard. Status badge: SPREADING (if being picked up) / CONTAINED (single source) / CORRECTED (if already addressed).
4. Competitor response panel Only shown if competitor monitoring is enabled. One card per competitor showing:
5. Coverage summary Compact stats row: Total signals · Press mentions · Community threads · Social mentions · Mischaracterizations · Competitor moves · Avg sentiment score
Interaction requirements (JS click handlers — never CSS hover):
Styling:
var(--color-background-primary) — transparent outer, inherits hostvar(--color-background-primary) with 0.5px solid var(--color-border-tertiary) bordervar(--color-background-secondary)var(--color-text-primary) / var(--color-text-secondary) — never hardcoded'SF Mono', 'Fira Code', monospace for metadata fields#A32D2D · amber: #854F0B · green: #3B6D11color: #185FA5 — inline <a href> tag, no border or backgroundlaunch-monitor-{YYYY-MM-DD}.md)# Launch Monitor — [Product Name]
**Launch date:** [DATE]
**Monitored window:** [DATE RANGE]
**Generated:** [TIMESTAMP]
**Total signals:** [N]
## TL;DR
[2-3 sentences: overall sentiment read, count of act-now items, single most urgent signal or mischaracterization]
## Summary
- Act now: [N] | Monitor: [N] | Good signals: [N] | Noise: [N]
- Mischaracterizations found: [N]
- Competitor moves: [N]
- Overall sentiment: [Positive / Mixed / Negative / Trending negative]
## Signal Feed
### 🔴 Act Now
- **[RESPOND/CORRECT/ESCALATE]** | [Signal type] | [Headline]
Context: [One sentence]
Source: [outlet] · Reach: [estimate] · [Time since launch]
Action: [Suggested action]
### 🟡 Monitor
...
### 🟢 Good Signals
...
## Mischaracterizations
| Claim | Source | Reach | Correct version | Status |
|---|---|---|---|---|
| [What was said] | [Source] | [Reach] | [Accurate version] | SPREADING/CONTAINED |
## Competitor Moves
- **[Competitor]:** [What they did] — [Suggested counter-move]
## Source Index
- [URL] | [Source] | [Date] | [Urgency] | [Action]
## What This Means
[2-3 sentences: what the signal pattern implies for launch trajectory; the single most important action for the team to take right now]
After onboarding, ask once:
"Would you like me to save your preferences so I skip the questions next time? You can always say 'change settings' to update anything."
Store: product name(s), key competitors, launch window preference, depth setting.
After output is rendered inline and files are saved, offer sharing following references/memory-and-distribution.md (connector detection, AskUserQuestion flow, Notion/Slack options).
Skill-specific routing: push launch-monitor-{YYYY-MM-DD}.md to Notion (full report); post Act Now signals only to Slack. Use destination from integrations in ~/.nimble/business-profile.json if set; otherwise ask and save for next time.
For date window calculation, follow the Smart Date Windowing pattern in references/nimble-playbook.md — use last_runs.launch-monitor from the profile.
If the user asks to re-run or refresh monitoring:
"I'll sweep for new signals since [last run timestamp] and update the war room. Anything new to add to the watch list?"
Only surface net-new signals since last run. Carry forward unresolved mischaracterizations and open action items.
After delivering the war room, suggest relevant next steps in the ## What This Means section:
brand-mention-monitor for continuous brand health tracking — it is optimized for steady-state monitoring rather than launch spikes.competitor-intel for deeper, ongoing competitive intelligence — it tracks messaging, positioning shifts, and counter-narrative development over time.consumer-sentiment-monitor to track how real users are experiencing the product beyond the launch press cycle.Skip signals that are:
Flag but don't prioritize:
npx claudepluginhub nimbleway/agent-skills --plugin nimbleTracks a named competitor's launch or announcement across X, LinkedIn, YouTube, Reddit, and news, reading public reaction volume and sentiment to assess market reception.
Monitors product launches across HN, Product Hunt, app stores, and news for T-0 to T+30 window. Verifies pre-launch instrumentation, polls rankings/comments/votes, and alerts on KPI thresholds.
Scans Reddit, X, LinkedIn, Instagram, TikTok, YouTube, blogs, news, and review platforms for brand mentions, scoring each on reach, velocity, sentiment, and risk, then buckets into Crisis/Watch/Engage/Log with response owner and window.