This page is Horror Vanguard Reviewer. It is one of the projects Brandon built and put online. The grown-up details are below, tap Grown-up mode to read them the normal way.
scriptnerd superfans.
Two-host transcript review of any episode. Marxist character reads, diegetic-object-to-theory bridges, hot-take inversions, genre cross-references with a verdict. Anti-AI voice gate is Step 0 and Step 4.
~/.claude/skills/horror-vanguard-reviewer/SKILL.md
~/Projects/horror-vanguard-tp/ (corpus, STYLE_BIBLE, voice clones)
For Twin Peaks specifically, this supplies character, lodge, and mythology facts so a review stays accurate instead of guessing the plot. The reviewer is show-agnostic, so any show would pair with its own lore source.
~/.claude/skills/twin-peaks-lore/SKILL.md
Long-form theory, structural framing, the close. Warm-academic register: ontologies, hermeneutics, frameworks, ideological. Owns the cold open and the final landing. Blocks run 4 to 7 sentences.
Character and craft notes, one-line wedges, personal-anecdote ice-breakers (coffee, motorcycle, the cat). Drier and more deflationary. Interrupts with "yeah absolutely" then hands the thread back. Blocks run 1 to 3 sentences.
Every long review hits at least 6 of the 15 recurring moves:
Branding strip is a hard regex gate: ghost / crypt / spooky / dread / haunted / creeps / horror-vanguard all reject the draft. creeps → scriptnerd superfans on every match.
SKILL.md wrote to ~/Desktop/HV-reviews/. Desktop was offloaded 2026-06-06 and is a banned write target. Repointed to ~/Projects/_outputs/horror-vanguard-reviewer/ via the shared output_paths.py.
Steps 4 and 5 were a human-eyeballed list. New hv_review_gate.py runs the anti-AI gate, the branding regex, the adverb-hedge and vague-noun greps, and the required-moves count, then prints one PASS/FAIL with line numbers. Mirrors the MIDI hardfail-gate pattern.
Built render_review_html.py: it parses an Ash and John transcript, re-runs the gate, refuses to render on FAIL, then writes the corpus-style page into the public tree for deploy. The sample below was produced by this pipeline.
The gate measures speaker share and, after a correction, John's range: he has to mix short wedges with the occasional 4-6 sentence deep dive, not run only wedges. The corpus has no speaker labels, so the old "John is always 1-3 sentences" was an estimate, not a measurement. The S6E12 sample reads Ash 52%, John across a 1 to 5 sentence range.
SKILL.md now takes an optional --lore <skill-or-file> input (twin-peaks-lore for Twin Peaks, any show's lore source otherwise), read before drafting so names, mythology, and continuity are sourced, not invented.
SKILL.md now carries a Model routing section: DeepSeek draft, gate loop until PASS, optional mode: hero Opus polish, never defaulting to Opus.
Two reviews are live, each passed through the gate at the strict bar (zero hedges, zero antithesis): Community S5E1 "Repilot" and Community S6E12 "Wedding Videography". The S6E12 read gives John his real range, short wedges plus two deep dives.