← Files vidIQARCHIVED FILE

skills/vidiq-competitor-watchlist/SKILL.md

4.06 KB · Oct 4, 2026 · 06:02 UTC

↓ Download file

---
name: vidiq-competitor-watchlist
description: Audit an authorized YouTube channel's competitor watchlist, identify direct competitors and format references, discover emerging channels, and propose or execute explicitly approved follow/unfollow changes.
---

# vidIQ Competitor Watchlist

Read [Live surface notes](references/live-surface-notes.md) first, even when using only supplied evidence.

Audit or update a watchlist for the intended authorized channel. Research only what the request
needs; a recommendation never authorizes a mutation.

## Establish the list and candidate fit

1. Resolve the intended owner with `vidiq_user_channels`, then
   capture `vidiq_list_competitors` for its `youtubeChannelId` as the original canonical-ID set.
   Enrich titles with `vidiq_get_channels_by_ids` only when useful.
2. Exclude self, known siblings, and unrelated channels from analysis, but present removals as
   recommendations. Unknown ownership/fit is not an automatic removal reason; preserve
   intentional references.
3. For discovery, `vidiq_similar_channels` takes canonical `channelId` with optional `size` and
   `sort`, or manual `niche` with its declared filters. Do not mix modes or pass `subNiches`.
   Reuse known IDs; resolve manual context through `vidiq_channel_search` only when needed,
   matching the returned canonical ID. Country/format can influence ranking rather than strict
   eligibility, so check actual fit.
4. Use generic niche `vidiq_channel_search` for broader discovery and `breakoutChannel: true`
   for emerging challengers. Set `subscriberCountMin` only for a requested or justified cohort
   boundary. Disclose it; tiny or nonpositive baselines make growth ratios unreliable.
5. Read [Discovery evidence](references/discovery-evidence.md) for candidate discovery or
   audience/mechanism pattern claims; individual candidate fit can
   remain tentative. Use semantic mechanism matching where declared.
6. Verify upload recency only when it affects a recommendation: use `vidiq_channel_search`
   with `channelTitle` and `channelTitleMatch: "exact"` when declared, verify the ID, and read
   `lastVideoPublished`. Channel `publishedAt` is creation time. Alternatively, a scoped
   `vidiq_channel_videos` read needs `popular: false` and `videoFormat: long`, `short`, or
   `live`; that format sample cannot prove channel-wide inactivity. Missing dates mean unknown.

Classify useful candidates as direct competitors, format references, or emerging challengers.
Raw fame or size is insufficient; do not invent audience-overlap or private competitor analytics.

## Propose and execute an exact change

1. Present owner ID, original snapshot, canonical-ID `add`/`remove` sets, rationale, and expected
   final set: `(snapshot - remove) ∪ add`. Deduplicate, prevent overlap, and omit already-present
   additions or absent removals. Map additions to `follow` and removals to `unfollow`.
   An empty diff needs no mutation. Do not invent a watchlist/plan cap.
2. Obtain approval of the exact owner and add/remove diff.
3. Immediately before mutation, re-read the list within that approval. Compare canonical-ID sets
   with the original snapshot. If changed, abort, show the concurrent difference, and obtain
   approval for a revised diff. If the read fails, pause.
4. With unchanged preflight and approval, call `vidiq_update_competitors` once with
   `youtubeChannelId`, `follow`, and `unfollow`. Preserve the response and read back with
   `vidiq_list_competitors`.
5. Compare actual added/removed and final sets with the approved expectation. Report discrepancies,
   partial updates, or limit failures; never silently repair, roll back, or resubmit. Readback
   detects but cannot prevent a race after preflight because no atomic compare-and-swap is
   declared. If verification fails, label readback unverified and distinguish
   any response-confirmed state.

## Deliver

For an audit, return the diagnosis and proposed changes. After an approved update, report the
confirmed final list or exact verification gap, approval state, and unresolved discrepancies.
Keep the owner explicit for multi-channel accounts.

SHA-256: 61f4d7713e908e4c149ff96d6f4d52c505bde8835d74e186b5abad12a833d6b5