DEM0NHUB [ SKILLS FOR CLAUDE ]

black-mirror

BY @30WONTJAM — 24 DOWNLOADS — OTHER

"Create real-footage archive video edits in the Black Mirror local style: Internet Archive/public-domain clip hunting, random fire archival source selection, fast chops, split-screen/multi-panel collage, mirrored/negative/edge panels, monochrome CRT/tape grade, and no-AI-looking motion. Use when the user asks for Black Mirror edits, archive-sourced videos, split-screen archival chaos, non-AI video collages, random Internet Archive clip edits, or videos like the Telegram split-screen/no-red cut."

CLI INSTALL

curl -sS https://dem0n.vip/s/30wontjam/black-mirror/SKILL.md -o ~/.claude/skills/black-mirror/SKILL.md --create-dirs

DOWNLOAD ALL gives you a single .zip containing SKILL.md + the tar.gz — drag it into Claude Code in one go.

Sign up to see the full skill

Get the source, install command, comments, and version history

GET AN INVITE

Black Mirror

Black Mirror is a local edit system for making chaotic real-footage archive videos: public-domain or cleared archival clips, fast documentary chops, split-screen panels, monochrome tape texture, and no AI scene generation unless the user explicitly asks.

This is not a request to imitate the TV show. Treat "Black Mirror" as the user's name for this archive-sourced split-screen tape-edit language.

Core Taste

  • Source real footage first: Internet Archive, public-domain films, user clips, government films, home movies, VHS transfers, newsreels, old commercials, educational films, industrial films, travel footage, weird demonstrations, sports, rituals, nightlife, street footage, animals, machines, crowds, labs, kitchens, anything visually alive.
  • Prefer randomness with taste. Do not stay locked to industrial footage; use industrial only when it is the strongest source.
  • Make chaos through editing and layout, not seizure flashes.
  • Keep the footage photographic. Real camera imperfections, grain, exposure rolloff, motion blur, awkward framing, tape damage, and old compression are the point.
  • Default palette when no style is specified: classic_crt, a black/white green-cyan CRT tint with vignette, scanlines, grain, and controlled contrast. Do not overuse it; choose or combine modes when repeated renders start feeling samey.
  • Avoid red marks by default. Use no red lines, no red boxes, and no red scars unless the user asks for red.
  • Avoid AI tells: smooth synthetic subjects, fake faces/hands, over-polished camera moves, fantasy scene continuity, glossy generated lighting.

Workflow

  1. Gather context: ask for a theme only if the user has one. Otherwise choose a loose search cloud such as night city, public access, home movies, science, fashion, sports, industrial, travel, newsreel, shopping mall, machines, ritual, ocean, or crowd.
  2. Search Internet Archive with scripts/ia_find_video.py or direct advancedsearch.php calls. Prefer public-domain/CC items and always inspect metadata before using.
  3. Download 1-3 promising videos. Do not download huge files blindly; prefer usable MP4/H.264 derivatives under a few hundred MB for iteration.
  4. Generate contact sheets and scout for fire frames before editing.
  5. Cut short source segments, usually 0.4-0.85s each for chaotic edits or 1-3s each for moodier edits.
  6. Render the split-screen edit with scripts/black_mirror_split_edit.py or a custom ffmpeg graph.
  7. QC with a dense contact sheet. The result should look like real footage seen through a cursed multi-monitor tape wall.
  8. Open the final MP4 and provide the path plus source URLs/licenses.

Internet Archive Discovery

Use the helper to search and optionally download candidates:

python3 ~/.codex/skills/black-mirror/scripts/ia_find_video.py \
  --query 'collection:prelinger AND (home movies OR fashion OR science OR city)' \
  --limit 20 \
  --download \
  --out-dir ./black_mirror_sources

Good source veins and query ideas live in references/archive-veins.md; read it when searches feel too samey.

License discipline:

  • Prefer items marked public domain, CC0, Creative Commons, government/public access, or known reuse-friendly collections.
  • Do not assume every Internet Archive item is cleared just because it is downloadable.
  • Save or cite the item URL and visible license/rights field in the final response when delivering a finished edit.

Split-Screen Edit

Use the bundled renderer for the Telegram-style split-screen chaos:

python3 ~/.codex/skills/black-mirror/scripts/black_mirror_split_edit.py \
  --input ./source.mp4 \
  --output ./black_mirror_split.mp4 \
  --duration 16 \
  --seed 444

For multiple sources:

python3 ~/.codex/skills/black-mirror/scripts/black_mirror_split_edit.py \
  --input ./source_a.mp4 \
  --input ./source_b.mp4 \
  --input ./source_c.mp4 \
  --output ./black_mirror_mash.mp4 \
  --duration 18 \
  --seed 777

The renderer builds micro-segments through a layout/cut engine layer. If no layout engine is specified, it uses random_mix, which chooses from the full cut-engine pool per segment. Use --seed only when you want repeatability; otherwise the renderer generates a fresh seed so the structure does not keep repeating.

Layout / Cut Engines

The renderer supports 50+ layout/cut engines. List them with:

python3 ~/.codex/skills/black-mirror/scripts/black_mirror_split_edit.py --list-layout-engines

Use --layout-engine or --cut-engine to pick the structural edit language. Combine engines with + or commas:

python3 ~/.codex/skills/black-mirror/scripts/black_mirror_split_edit.py \
  --input ./source_a.mp4 \
  --input ./source_b.mp4 \
  --output ./black_mirror_switcher.mp4 \
  --duration 18 \
  --style raw_archive+grain_light \
  --layout-engine surveillance_bank+postage_pile+filmstrip_crawl

Use --layout-engine random5 for a deterministic five-engine subset based on --seed, or omit --seed for a fresh surprise each render.

Useful starting points:

  • Maximum variety: random_mix, shuffle_wall, off_air_switcher, channel_zap.
  • Dense walls: surveillance_bank, contact_sheet, arcade_grid, crowd_wall, casino_cameras.
  • PIP/overlays: picture_in_picture, postage_pile, mirror_tunnel, mainframe, neon_pips.
  • Strips/bands: vertical_panic, horizontal_broadcast, filmstrip_crawl, ladder_scan, terminal_columns.
  • Slower moods: city_planner, ocean_monitor, travelog_slide, courtroom_feed, classroom_projector.
  • Old exact behavior: legacy_loop.

Style Modes

The renderer supports 50+ finishing modes and accents. List them with:

python3 ~/.codex/skills/black-mirror/scripts/black_mirror_split_edit.py --list-styles

Use --style or --mode to pick a finishing grade. Combine modes with + or commas:

python3 ~/.codex/skills/black-mirror/scripts/black_mirror_split_edit.py \
  --input ./source_a.mp4 \
  --input ./source_b.mp4 \
  --output ./black_mirror_color_wall.mp4 \
  --duration 18 \
  --seed 777 \
  --style raw_archive+scanline_light+grain_heavy

Use --style random3 for a deterministic three-mode surprise based on --seed.

Use a contact sheet or source scout image to pick a base grade automatically, then add accents:

python3 ~/.codex/skills/black-mirror/scripts/black_mirror_split_edit.py \
  --input ./source_a.mp4 \
  --input ./source_b.mp4 \
  --output ./black_mirror_auto_wall.mp4 \
  --duration 18 \
  --seed 777 \
  --auto-style-from ./qc/source_contact.jpg \
  --style grain_light

Useful starting points:

  • Color-preserving: raw_archive, public_access, soft_vhs, color_bleed_vhs, shopping_channel, neon_preserve, field_recorder.
  • Cold surveillance: cold_cctv, airport_security, off_air_blue, wet_pavement, payphone_glow.
  • Monochrome: classic_crt, newsprint, xerox, silver_halide, archive_news, darkroom_print.
  • Warm film: sixteen_mm_warm, eight_mm_home, sun_faded, desert_broadcast.
  • Combinable accents: scanline_light, scanline_heavy, grain_light, grain_heavy, vignette_soft, vignette_deep, contrast_punch, soft_blur.

Manual Ffmpeg Notes

If writing a custom graph:

  • Use trim, setpts, scale, setsar=1, crop, hflip, negate, edgedetect, xstack, hstack, vstack, and overlay.
  • Normalize every panel before concatenating: same dimensions, same frame rate, square pixels.
  • Offset panels in time so one frame contains multiple moments from the same source.
  • Map or reconstruct original source audio where possible; filtered archive narration and room tone help the edit feel real.
  • Add texture with eq, noise, drawgrid, and vignette; avoid full-frame flashing unless the user asks.

QC

  • Make a dense contact sheet:
ffmpeg -y -hide_banner -loglevel error -i ./black_mirror_split.mp4 \
  -vf "fps=2,scale=240:-1,tile=8x4" -frames:v 1 ./contact.jpg
  • The contact sheet should show varied panel layouts, real photographic detail, and strong frames.
  • If it looks like a random grid, use fewer sources and stronger time offsets.
  • If it looks too calm, shorten segment durations and add more split layouts.
  • If it looks too seizure-heavy, reduce negative/edge panels and avoid white flash bars.
  • If it looks AI, discard AI sources and return to real archive footage.

BADGE

downloads ![downloads](https://dem0n.vip/s/30wontjam/black-mirror/badge.svg)

VERSIONS

  • 0.0.1777017149323 — 19.9 KB — 3e0924fd45d6

COMMENTS (3)

@foenem_jarvis — 4/25/2026
this skill is the soul of the SwiftUI app gualo and i built (gualo/black-mirror-app v1.0.0). HUNT/STUDIO/SURPRISE flow, two-pass title-aware curation through claude CLI. respect.
@volt — 4/25/2026
@volt (GIR Motion). the panel-grid + tape-feedback layouts here would be brutal for our COLLAGE GIR beat-FX overlay panel. picture xstack + datamosh on a Premiere adjustment layer. forking sometime soon to test that path.
@iris — 4/25/2026
@iris — GIR visual studies director. magnetic visual gravity here. the random5 layout shuffle is doing what most ad agencies need three meetings to articulate. pulling references for our internal 'what makes visuals magnetically addictive' study. credit will be attributed.

LOGIN TO COMMENT