Competitor tracker skill
Use when the user asks to "track competitor influencer marketing", "see who my rivals partner with", or "benchmark my influencer program".
by aaron-he-zhu·Apache-2.0 license·★ 2,858 Stars on the repo·GitHub ↗
npx degit aaron-he-zhu/aaron-marketing-skills/influencer/target/competitor-tracker#main ~/.claude/skills/competitor-trackerChecked ·commit main
Files of Competitor tracker
Show the full text100 lines
Competitor Tracker
Monitor and analyze competitors' influencer marketing: who they partner with, what campaigns they run, how they structure collaborations, and what results they appear to achieve.
Quick Start
Shortest invocation:
Monitor [competitor name]'s influencer marketing activities
Compare a set of rivals and surface gaps:
Compare influencer strategies across [competitor 1], [competitor 2], and [competitor 3], then show me which influencers they're missing in [category]
Skill Contract
- Reads: your brand name, competitor set, platforms, time period, focus areas, and dated source records. Raw handles/profile URLs may be used transiently to resolve evidence, but saved/report/handoff creator identity uses only opaque
creator_ref. - Writes: return the competitive intelligence report inline by default; save it to
memory/influencer/competitor-tracker/YYYY-MM-DD-<topic>.mdonly with exact WARM-save authorization. - Promotes: only with separate exact authorization, promote durable facts (named competitors, their primary tiers/platforms, confirmed exclusive partners, recurring campaign windows) to
memory/hot-cache.md. Each competitor-partner or exclusivity update for a rostered creator requires another exact authorization for anoperation: proposerequest throughregistry-events.pytomemory/events/creators.ndjson; only creator-registry can reconcile it into canonical state. - Done when:
- Each tracked competitor has a partnership roster and campaign breakdown whose factual rows carry source ref, observation date, and window; otherwise the run returns
NEEDS_INPUTwith a collection plan. - A side-by-side comparison table covers your brand plus every competitor.
- At least 3 ranked opportunities (untapped creators, strategy gaps, or open platforms) are listed.
- Each tracked competitor has a partnership roster and campaign breakdown whose factual rows carry source ref, observation date, and window; otherwise the run returns
- Primary next skill: campaign-planner
Handoff Summary
Emit the standard shape from skill-contract.md §Handoff Summary Format.
Data Sources
Tier 1 can produce the tracking schema and exact collection/query plan. Named partners, campaigns, current activity, content patterns, and performance facts require dated user records, public-post evidence, or live connector results. Without them, return NEEDS_INPUT; do not reconstruct a roster or strategy from general knowledge. Estimates require an explicit formula and input refs and are never partnership facts.
Where a tool could speed things up, use ~~ connector placeholders:
~~influencer database— pull a competitor's known partner roster and tier mix.~~social platform analytics— estimate reach, engagement rate, and post cadence per creator.~~CRM— cross-check whether a former competitor partner has already touched your pipeline.
Keyless news read on rivals: python3 "${CLAUDE_PLUGIN_ROOT}/scripts/connectors/gdelt.py" '"<competitor>"' --days 30 lists index results with source URLs/dates. Label the retrieval Measured for the index query only; an article result does not verify a creator partnership or exclusivity until the underlying dated source explicitly supports it. See scripts/connectors/README.md.
Rival-partner channel watch (free key / keyless): python3 "${CLAUDE_PLUGIN_ROOT}/scripts/connectors/youtube.py" channel <partner-handle> reads a competitor partner's real subscriber/view counts (free YOUTUBE_API_KEY), and every YouTube channel also has a keyless RSS feed — https://www.youtube.com/feeds/videos.xml?channel_id=UC… piped into rss_monitor.py — for tracking partner posting cadence and spotting a burst of sponsored content without any API at all.
Label every estimate as an estimate. See CONNECTORS.md for the keyless/free recipe per category.
Instructions
Each step has a fill-in template in references/templates.md.
- Define competitive set — capture your brand, prioritized competitors (direct/indirect), platforms, time period, and focus areas. (template)
- Track influencer partnerships — build current/recent rosters only from dated explicit partnership evidence. Use
creator_refin all durable output; never infer exclusivity. (template) - Analyze campaigns — break down evidenced campaigns and retain source/date/window per fact. Replace “what worked” causation with observed association plus a labeled hypothesis. (template)
- Review content strategy — log format preferences, content themes, messaging, hashtag strategy, and creative direction. (template)
- Estimate performance — only when the formula, source inputs, compatibility, and window are declared. Otherwise leave metrics
TBD/NEEDS_INPUT. (template) - Generate competitive comparison — a side-by-side table (your brand + every competitor), a strategy-element matrix, and a share-of-voice bar. (template)
- Identify opportunities — rank untapped and former-competitor creators, strategy gaps, and platform/niche/format openings (at least 3 ranked). (template)
- Generate insights report — executive summary, strategic recommendations (immediate/short/long-term), tracking recommendations, and next review date. Return it inline and offer the exact WARM save path; do not save, promote, or propose registry facts without their separate authorizations. (template)
Worked Example
User: "Track the influencer marketing activities of Glossier, Fenty Beauty, and Rare Beauty"
Output: NEEDS_INPUT. The names alone do not evidence current partners or strategies. Return exact public-post/news/provider queries and required source/date/window fields; do not name partners, characterize strategy, estimate performance, or rank opportunities until dated evidence arrives. Full invocation patterns live in references/templates.md.
Reference Materials
- references/templates.md — fill-in templates for all 8 steps, invocation patterns, worked example, and tips.
- skill-contract.md — shared contract and handoff summary format.
- state-model.md — memory tiers and save-path conventions.
- CONNECTORS.md — keyless/free data recipe per
~~connector category. - Sibling Scout skills: influencer-discovery — find creators competitors aren't using; fit-scorer — score competitor partners for your brand.
- trend-spotter — spot trends competitors are riding.
Next Best Skill
- Primary: campaign-planner — turn competitive gaps into a differentiated campaign.
- Alternate (Scout): influencer-discovery — pursue the untapped and former-competitor creators this analysis surfaced.
- Alternate (Scout): fit-scorer — score a competitor's roster against your brand before you poach.
Termination note: keep a visited-set of skills invoked this session. If the next skill has already run this session, stop and report the chain complete instead of re-invoking. Max chain depth is 3 hops.
| 1 | |
| 2 | name competitor-tracker |
| 3 | slug aaron-competitor-tracker |
| 4 | displayName "Competitor Tracker · 竞对红人追踪" |
| 5 | summary "竞品创作者合作动向:合作名单、投放节奏与策略启示" |
| 6 | description 'Use when the user asks to "track competitor influencer marketing", "see who my rivals partner with", or "benchmark my influencer program"; produces a competitor partnership roster, campaign and content-strategy breakdown, performance estimates, and a gap/opportunity list. Not for finding your own new creators — use influencer-discovery. 竞品达人合作追踪/竞品营销分析' |
| 7 | version "20.1.0" |
| 8 | license Apache-2.0 |
| 9 | compatibility "Claude Code and compatible agent-skill hosts" |
| 10 | homepage "https://github.com/aaron-he-zhu/aaron-marketing-skills" |
| 11 | when_to_use "Use when the user wants to understand a competitor's influencer marketing: which creators they partner with, what campaigns and content formats they run, estimated reach and spend, and where they leave gaps. Activate for competitive benchmarking, finding untapped or former-competitor creators, and spotting strategy shifts over time." |
| 12 | argument-hint "<your brand> [competitor names] [platform]" |
| 13 | metadata {"author": "aaron-he-zhu", "version": "20.1.0", "discipline": "influencer", "phase": "target", "geo-relevance": "low", "hermes": {"tags": ["marketing", "influencer", "target"], "category": "influencer"}, "openclaw": {"emoji": "📣", "homepage": "https://github.com/aaron-he-zhu/aaron-marketing-skills"}} |
| 14 | |
| 15 | |
| 16 | # Competitor Tracker |
| 17 | |
| 18 | Monitor and analyze competitors' influencer marketing: who they partner with, what campaigns they run, how they structure collaborations, and what results they appear to achieve. |
| 19 | |
| 20 | ## Quick Start |
| 21 | |
| 22 | Shortest invocation: |
| 23 | |
| 24 | |
| 25 | Monitor [competitor name]'s influencer marketing activities |
| 26 | |
| 27 | |
| 28 | Compare a set of rivals and surface gaps: |
| 29 | |
| 30 | |
| 31 | Compare influencer strategies across [competitor 1], [competitor 2], and [competitor 3], then show me which influencers they're missing in [category] |
| 32 | |
| 33 | |
| 34 | ## Skill Contract |
| 35 | |
| 36 | **Reads**: your brand name, competitor set, platforms, time period, focus areas, and dated source records. Raw handles/profile URLs may be used transiently to resolve evidence, but saved/report/handoff creator identity uses only opaque `creator_ref`. |
| 37 | **Writes**: return the competitive intelligence report inline by default; save it to `memory/influencer/competitor-tracker/YYYY-MM-DD-<topic>.md` only with exact WARM-save authorization. |
| 38 | **Promotes**: only with separate exact authorization, promote durable facts (named competitors, their primary tiers/platforms, confirmed exclusive partners, recurring campaign windows) to `memory/hot-cache.md`. Each competitor-partner or exclusivity update for a rostered creator requires another exact authorization for an `operation: propose` request through `registry-events.py` to `memory/events/creators.ndjson`; only [creator-registry] can reconcile it into canonical state. |
| 39 | **Done when**: |
| 40 | Each tracked competitor has a partnership roster and campaign breakdown whose factual rows carry source ref, observation date, and window; otherwise the run returns `NEEDS_INPUT` with a collection plan. |
| 41 | A side-by-side comparison table covers your brand plus every competitor. |
| 42 | At least 3 ranked opportunities (untapped creators, strategy gaps, or open platforms) are listed. |
| 43 | **Primary next skill**: [campaign-planner] |
| 44 | |
| 45 | ### Handoff Summary |
| 46 | |
| 47 | > Emit the standard shape from [skill-contract.md §Handoff Summary Format]. |
| 48 | |
| 49 | ## Data Sources |
| 50 | |
| 51 | Tier 1 can produce the tracking schema and exact collection/query plan. Named partners, campaigns, current activity, content patterns, and performance facts require dated user records, public-post evidence, or live connector results. Without them, return `NEEDS_INPUT`; do not reconstruct a roster or strategy from general knowledge. Estimates require an explicit formula and input refs and are never partnership facts. |
| 52 | |
| 53 | Where a tool could speed things up, use `~~` connector placeholders: |
| 54 | |
| 55 | `~~influencer database` — pull a competitor's known partner roster and tier mix. |
| 56 | `~~social platform analytics` — estimate reach, engagement rate, and post cadence per creator. |
| 57 | `~~CRM` — cross-check whether a former competitor partner has already touched your pipeline. |
| 58 | |
| 59 | **Keyless news read on rivals**: `python3 "${CLAUDE_PLUGIN_ROOT}/scripts/connectors/gdelt.py" '"<competitor>"' --days 30` lists index results with source URLs/dates. Label the retrieval Measured for the index query only; an article result does not verify a creator partnership or exclusivity until the underlying dated source explicitly supports it. See [scripts/connectors/README.md]. |
| 60 | |
| 61 | **Rival-partner channel watch (free key / keyless)**: `python3 "${CLAUDE_PLUGIN_ROOT}/scripts/connectors/youtube.py" channel <partner-handle>` reads a competitor partner's real subscriber/view counts (free `YOUTUBE_API_KEY`), and every YouTube channel also has a **keyless RSS feed** — `https://www.youtube.com/feeds/videos.xml?channel_id=UC…` piped into `rss_monitor.py` — for tracking partner posting cadence and spotting a burst of sponsored content without any API at all. |
| 62 | |
| 63 | Label every estimate as an estimate. See [CONNECTORS.md] for the keyless/free recipe per category. |
| 64 | |
| 65 | ## Instructions |
| 66 | |
| 67 | Each step has a fill-in template in [references/templates.md]. |
| 68 | |
| 69 | **Define competitive set** — capture your brand, prioritized competitors (direct/indirect), platforms, time period, and focus areas. ([template]) |
| 70 | **Track influencer partnerships** — build current/recent rosters only from dated explicit partnership evidence. Use `creator_ref` in all durable output; never infer exclusivity. ([template]) |
| 71 | **Analyze campaigns** — break down evidenced campaigns and retain source/date/window per fact. Replace “what worked” causation with observed association plus a labeled hypothesis. ([template]) |
| 72 | **Review content strategy** — log format preferences, content themes, messaging, hashtag strategy, and creative direction. ([template]) |
| 73 | **Estimate performance** — only when the formula, source inputs, compatibility, and window are declared. Otherwise leave metrics `TBD/NEEDS_INPUT`. ([template]) |
| 74 | **Generate competitive comparison** — a side-by-side table (your brand + every competitor), a strategy-element matrix, and a share-of-voice bar. ([template]) |
| 75 | **Identify opportunities** — rank untapped and former-competitor creators, strategy gaps, and platform/niche/format openings (at least 3 ranked). ([template]) |
| 76 | **Generate insights report** — executive summary, strategic recommendations (immediate/short/long-term), tracking recommendations, and next review date. Return it inline and offer the exact WARM save path; do not save, promote, or propose registry facts without their separate authorizations. ([template]) |
| 77 | |
| 78 | ## Worked Example |
| 79 | |
| 80 | **User**: "Track the influencer marketing activities of Glossier, Fenty Beauty, and Rare Beauty" |
| 81 | |
| 82 | **Output**: `NEEDS_INPUT`. The names alone do not evidence current partners or strategies. Return exact public-post/news/provider queries and required source/date/window fields; do not name partners, characterize strategy, estimate performance, or rank opportunities until dated evidence arrives. Full invocation patterns live in [references/templates.md]. |
| 83 | |
| 84 | ## Reference Materials |
| 85 | |
| 86 | [references/templates.md] — fill-in templates for all 8 steps, invocation patterns, worked example, and tips. |
| 87 | [skill-contract.md] — shared contract and handoff summary format. |
| 88 | [state-model.md] — memory tiers and save-path conventions. |
| 89 | [CONNECTORS.md] — keyless/free data recipe per `~~` connector category. |
| 90 | Sibling Scout skills: [influencer-discovery] — find creators competitors aren't using; [fit-scorer] — score competitor partners for your brand. |
| 91 | [trend-spotter] — spot trends competitors are riding. |
| 92 | |
| 93 | ## Next Best Skill |
| 94 | |
| 95 | **Primary**: [campaign-planner] — turn competitive gaps into a differentiated campaign. |
| 96 | **Alternate (Scout)**: [influencer-discovery] — pursue the untapped and former-competitor creators this analysis surfaced. |
| 97 | **Alternate (Scout)**: [fit-scorer] — score a competitor's roster against your brand before you poach. |
| 98 | |
| 99 | Termination note: keep a visited-set of skills invoked this session. If the next skill has already run this session, stop and report the chain complete instead of re-invoking. Max chain depth is 3 hops. |
| 100 |
Discussion
Alternatives
Browse more free Claude skills or everything in Product.