competitor-monitor
Set up ongoing competitor monitoring. Use when: defining tracked competitors, scan frequency, change detection alerts.
What this skill does
# /digital-marketing-pro:competitor-monitor
## Purpose
Set up and manage ongoing competitor monitoring. Define which competitors to track, what to monitor (content changes, pricing updates, ad activity, social mentions, SEO rankings, SERP feature ownership), how often to scan each dimension, and what alerts to trigger when significant changes are detected. This command establishes competitive intelligence baselines by capturing the current state of each competitor across all monitored dimensions, then configures recurring scans to detect and surface changes over time. Baselines serve as the reference point for all future change detection — without them, alerts have no context for what constitutes a meaningful shift versus normal fluctuation. Supports per-dimension scan frequencies so high-velocity dimensions like pricing and ads can be checked daily while slower-moving dimensions like content strategy and SEO authority are reviewed weekly or monthly. The monitoring configuration persists across sessions and powers both the competitor-alerts notification system and the share-of-voice trend tracking.
## Input Required
The user must provide (or will be prompted for):
- **Competitors to track**: A list of competitor names with their primary website URLs — e.g., "Acme Corp (acme.com), Beta Inc (beta.io), Gamma Labs (gammalabs.com)". Each competitor becomes a monitored entity with its own baseline profile and independent scan schedule. Minimum one competitor required, no upper limit but recommend 3-8 for manageable monitoring volume and meaningful competitive context without signal overload
- **Monitoring dimensions**: Which competitive aspects to track for each competitor — `content` (new pages, blog posts, significant page edits, messaging changes on key pages), `pricing` (pricing page changes, plan restructuring, discount offers, free trial modifications), `ads` (new Google Ads campaigns, Meta Ad Library activity, ad copy and creative changes, new platform presence), `social` (mention volume, sentiment shifts, follower growth, posting frequency and engagement rates), `seo` (organic keyword rankings on tracked terms, domain authority changes, backlink profile shifts, new content indexation), `serp` (featured snippet ownership, People Also Ask presence, knowledge panel changes, AI overview citations). Select all for comprehensive coverage or choose a subset per competitor based on competitive relevance
- **Scan frequency per dimension**: How often to check each dimension — `daily`, `weekly`, or `monthly`. Recommended defaults: daily for pricing and ads (high-velocity, time-sensitive competitive signals requiring fast response), weekly for content and SEO (meaningful changes accumulate over days, not hours), monthly for full strategic review (positioning, messaging, market stance, and competitive narrative evolution). Custom frequencies can be set per competitor per dimension for asymmetric monitoring
- **Alert thresholds and notification channel**: What constitutes a significant change worth alerting on per dimension, and where to send alerts — Slack channel name (e.g., #competitor-intel) or email address. Thresholds can be qualitative ("any pricing change") or quantitative ("ranking drop of more than 5 positions on any tracked keyword", "social mention volume exceeding 2x baseline"). If not specified, sensible defaults are applied per dimension based on typical competitive volatility patterns
- **Tracked keywords (optional)**: Specific keywords to monitor for SEO and SERP dimension tracking — brand terms, category head terms, product-specific terms, and high-intent commercial queries where competitor visibility matters most. If omitted, keywords are inferred from brand context, competitor content overlap analysis, and any existing keyword research data
## Process
1. **Load brand context**: Read `~/.claude-marketing/brands/_active-brand.json` for the active slug, then load `~/.claude-marketing/brands/{slug}/profile.json`. Apply brand positioning, competitive landscape context, target market definitions, and industry vertical. Also check for guidelines at `~/.claude-marketing/brands/{slug}/guidelines/_manifest.json` — if present, load competitive sensitivity rules and any competitor-specific monitoring preferences. Check for agency SOPs at `~/.claude-marketing/sops/`. If no brand exists, ask: "Set up a brand first (/digital-marketing-pro:brand-setup)?" — or proceed with defaults.
2. **Validate competitor URLs and collect initial baseline data**: For each competitor, verify the provided URL resolves and identify the correct root domain with any relevant subdomains. Capture the current state across all selected monitoring dimensions — website key pages (homepage, pricing, product, about, blog) with full meta tag snapshots, page titles, H1 headings, and core messaging blocks; pricing page structure including plan names, price points, feature lists, and tier differentiation; social media profiles across LinkedIn, Twitter/X, Facebook, Instagram, and YouTube with current follower counts, posting frequency, and recent engagement metrics; current ad activity from Google Ads Transparency Center and Meta Ad Library including active campaigns, ad copy samples, and creative formats; and organic search visibility on tracked keywords with current positions, estimated traffic, and SERP feature ownership. This comprehensive baseline snapshot becomes the reference point against which all future changes are measured.
3. **Save baselines via competitor-tracker.py**: Execute `competitor-tracker.py save-baseline` with the collected baseline data for each competitor. Each baseline record includes the competitor name, primary URL, dimension-specific data snapshots with structured fields for comparison, collection timestamp, data source references, and data completeness indicators (marking any dimensions where data collection was partial or unavailable). Baselines are stored per-brand at `~/.claude-marketing/brands/{slug}/competitors/` so multiple brands can track overlapping competitors with fully independent monitoring contexts and separate change detection histories.
4. **Configure monitoring schedule per dimension**: Set up the recurring scan schedule based on user-specified or default frequencies. Daily scans for pricing and ad activity — changes in these dimensions are time-sensitive and may require immediate competitive response such as counter-offers or bid adjustments. Weekly scans for content changes and SEO rankings — meaningful shifts accumulate over several days and weekly cadence provides sufficient detection speed without excessive scanning overhead. Monthly full strategic reviews covering competitive positioning analysis, messaging evolution, market stance assessment, and competitive narrative trajectory. Each schedule entry records the competitor name, dimension, frequency, next scan date, data collection method, and expected scan duration. Schedule persists across sessions and powers automated scanning when integrated with cron or scheduling services.
5. **Set up alert rules**: Define what constitutes a significant change per dimension and configure the notification routing for each alert type. Content alerts trigger on new page publication or significant edits to key pages (homepage, pricing, product pages) where the content diff exceeds the similarity threshold — minor copy tweaks are filtered out while messaging pivots and new feature announcements surface. Pricing alerts trigger on any detectable change to pricing page content, plan names, price points, or tier structure — pricing is binary-sensitive so any change is noteworthy. Ad alerts trigger on new campaign detection in Google Ads Transparency Center or Meta Ad Library, or major creative rotation exceeding 50% new creatives. Social alerts trigger when mention volume exceeds 2x the rolling 30-day baseline average or when sentiment score shifts more than 0.3 points. SEO alerts trigger on rankingRelated in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.