agentsclimarketplace

Overcast copycat sweep

Skill kdr/overcast/skills/overcast-copycat-sweep

Hunt re-uploads and reskins of original video content across X / YouTube / TikTok — escalate from cheap metadata triage to frame/face/transcript matching and produce citable copycat findings.From its SKILL.md

Install
npx -y skills add kdr/overcast --skill overcast-copycat-sweep

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

3 things to look at

  • skips confirmationTells the agent to proceed without asking first, 1 time: "--yes in overcast case setup".
  • 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 8 commands, including `overcast doctor --sources --json` and 7 more.

SKILL.md

6.2 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

overcast-copycat-sweep

Use this skill when the task is to find copies, re-uploads, or reskins of a creator's original media (video theft / freebooting) and build an evidence-backed report. Use the broad overcast skill and overcast/reference/verbs.md for exact flags. Escalate tier by tier — never capture what metadata already rules out.

Workflow

  1. Fingerprint the original (once per case). Reskins defeat exact hashes, so fingerprint three ways — distinctive frames, the creator's face, and the transcript:
overcast doctor --sources --json
overcast case init --json
overcast case setup --name copycat-sweep --target "<creator / original title>" --source "x:video:<topic keywords>" --yes --no-index --json
overcast watch ./original.mp4 --json      # content + transcript into case memory
overcast index create originals --type image-ransac --local --json
overcast image add ./title-card.png --index <index-id> --json   # + diagrams, key frames
  1. Sweep sources for candidates published AFTER the original — media-targeted (x:video:) queries with topic keywords, not exact titles:
overcast source add 'youtube:search:<topic keywords>' --json
overcast scan --since <original-publish-date> --limit 20 --json
  1. Triage on scan metadata alone (no downloads): keep hits whose published postdates the original, whose duration is close to it, or whose title/snippet echoes it; carry author and views into the report.

  2. Escalate survivors — capture, then match every fingerprint layer:

overcast capture <scan-hit-id> --json
overcast image match <captured-file> --index <index-id> --draw --json   # frames survive reskins/subtitles; --draw writes match-overlay proof
overcast face <captured-file> --match ./creator.jpg --json   # the face survives re-branding
overcast listen <captured-file> --json                       # verbatim transcript = strongest signal
overcast ask "does this captured video repeat the original's content? cite moments" --json

Pass --draw on image match so each matched frame writes a RANSAC overlay (original ↔ suspect keypoints). Cite the image match record as the finding's --ref in step 5 — the brief embeds that overlay in the finding card as visual proof.

Each image match / face --match / listen-on-a-match already auto-suggests a finding (image RANSAC ≥1 inlier, face ≥75%): run overcast finding list --state triage --json to see the leads, then finding accept <id> (usually enough — the lead is already there) or finding dismiss <id>. Step 5's manual finding create --ref <match-record> stays valid for a richer because-clause (dedup suppresses the duplicate).

Local mode (no external source). The skill works entirely on local files: skip steps 2–3 and run image match / face --match / listen directly on candidate videos already on disk (or captured earlier). This is how you compare a suspected rip you already have against the original, and how the pipeline is tested offline (fingerprint an original, confirm a reskinned copy, reject an unrelated clip) — no scan, no API. scan --local also sweeps the case's own media/indexes when no source is enabled.

  1. Record verdicts and report; keep a standing watch. One finding per confirmed copycat stating the because-clause (which layers matched, with scores), and ALWAYS one narrative note tagged tldr — even when the sweep comes up clean ("checked N sources, M candidates triaged, no copycats found") — because the brief's TL;DR / sources-checked / matches header is derived from exactly these records:
overcast finding create "copycat: <original> re-uploaded by @<author> (<views> views) — image frames 3x (best 94 inliers), face 87/100" --ref <image-match-record-id> --confidence high --json
overcast note "checked x + youtube (<n> hits); <m> candidates escalated; <k> confirmed: @<author> ..." --tag tldr --json
overcast target close <target-id> --as answered --note "copycats found + reported" --json  # once a line resolves
# Wait for the note result before exporting, so the TL;DR is included.
overcast brief --export ./copycats.html --json   # short by default (verdict-led); add --full for the frame-by-frame dump
overcast monitor --every 1d --json

Point the finding's --ref at the image match record (not the raw scan hit) so its match-draw overlay rides into the finding card as visual proof.

Output

For each confirmed copycat return: post URL, author, views, published, which layers matched (image frames / face / transcript), the strongest record.id + media.at citations, and the exported brief path. The exported brief opens with the TL;DR narrative (from the tldr-tagged note), the sources-checked rollup, and the matches & findings verdicts; a clean sweep must still say so explicitly ("checked, found none").

Caveats

Copycats retitle and re-caption, so search topic keywords and confirm with the visual/transcript layers: burned-in subtitles and translated dubs defeat text matching but not image frame matching or face --match. Face similarity is 0–100 (percent), not 0–1; image match reports a RANSAC inlier count (unbounded integer) plus an inlier ratio (0–1) — there is no 0–100 image similarity. A repost/quote is a share, not a rip — confirm the account re-uploaded the media natively (check x:video:from:<handle>). Apify-backed sources bill per result — prefer few, broad queries over many narrow ones.

Keyword overlap is NOT a match: accounts pump many videos that share your topic words, so text triage only shortlists — the frame/face/transcript layers decide. Do not trust an image match inlier count alone; a high count on a degenerate homography is the main false positive. image match gates on planar-projection validity by default (--draw writes the overlay so you can eyeball coherent correspondences vs lines collapsing to a point). Call a video a confirmed rip only when the gated match survives AND the transcript/face agree.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Gives 0 of the 12 instructions most video audio skills give in ~1.5k tokens

Counted across 619 of the 725 authors here whose files we hold, read 2026-09-06

  • Read product marketing context firstin 13 of 619, across 7 files
  • Define the core visual thesis in one sentencein 11 of 619, across 3 files
  • Break the concept into 3 to 6 scenesin 11 of 619, across 3 files
  • Render the smallest working version firstin 11 of 619, across 3 files
  • Start with a low-quality smoke test renderin 11 of 619, across 3 files
  • Add captions for accessibility and engagementin 11 of 619, across 5 files
  • Write the scene outline before writing codein 11 of 619, across 3 files
  • Specify subject, action, camera, style, and moodin 11 of 619, across 5 files
  • Decide what each scene provesin 10 of 619, across 2 files
  • Export one clean thumbnail framein 10 of 619, across 2 files
  • Pick the right tool for the jobin 10 of 619, across 4 files
  • Run the test suite before proposing a fixin 8 of 619, across 7 files

Said here and by no other author read

  • Fingerprint the original video three ways
  • Sweep sources for candidates published after original
  • Triage hits on scan metadata alone
  • Capture and match every fingerprint layer
  • Record verdicts and report findings
  • Keep a standing watch

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.