---
name: watchdog
description: Analyze public Instagram/TikTok creator videos to extract visual style DNA and turn it into reusable AI-video prompts, edit recipes, and new Codex skills. Use when the user says watchdog, sends an Instagram handle, TikTok handle, Reel links, or asks to learn someone’s editing/visual style like we did for Bloodspell.
---


# Watchdog

Use this skill to study public creator videos and build a style system the user can reuse for AI-video generation and edits.

Do **not** clone a creator one-for-one. Extract transferable traits: palette, pacing, motifs, camera language, transitions, texture, typography, composition, sound/edit rhythm, and prompt vocabulary.

## Boundaries

- Use only public content the user provides or public pages/endpoints accessible without bypassing login/paywalls.
- Do not reveal private account data or secrets.
- Do not repost downloaded source videos back to the user unless they own them or explicitly provided them for that purpose.
- Style output should be “inspired by / visual DNA,” not an exact copy or impersonation.

## Workflow

1. Normalize the target:
   - Instagram: `@name`, `instagram.com/name`, Reel/Post URLs.
   - TikTok fallback: creator Linktree or same-handle TikTok can help if IG blocks direct video access.
2. Collect public references:
   - Run `scripts/collect_style_refs.py --target <handle-or-url> --out style_refs/<name> --limit 8`.
   - If download fails, ask the user for 2-5 Reel links or uploaded screen recordings.
3. Build contact sheets:
   - Run `scripts/make_contact_sheet.py style_refs/<name> --fps 2`.
4. Inspect the contact sheets and, when useful, the videos.
5. Produce a **Style DNA** brief:
   - motifs
   - palette
   - pacing/edit rhythm
   - typography/text treatment
   - camera/composition
   - overlays/effects
   - sound/audio relationship
   - “do” and “avoid”
6. Create reusable generation assets:
   - a Seedance/vidy prompt pattern
   - optional postprocess notes or script ideas
   - optionally scaffold a new skill if the user asks.

## Deliverable Template

```markdown
**Style DNA**
- Motifs:
- Palette:
- Motion/Edit:
- Texture:
- Text:
- Composition:
- Sound:

**Prompt Recipe**
...

**Edit Recipe**
...

**Use It Like**
“make this in <style-name>”
```

## Useful Commands

```bash
python ~/.codex/skills/watchdog/scripts/collect_style_refs.py \
  --target @example \
  --out style_refs/example \
  --limit 8
```

```bash
python ~/.codex/skills/watchdog/scripts/make_contact_sheet.py \
  style_refs/example \
  --fps 2
```

## Notes

- Instagram public profile JSON may expose recent media thumbnails and video URLs via `web_profile_info`, but it can change or block. Treat it as opportunistic.
- `yt-dlp` works well for many TikTok public profiles and sometimes individual Instagram links.
- Linktree and bios can confirm same-handle cross-platform accounts.
