CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Scope: the thefire.lol “Profiles in Trolling” dossiers (content/profiles/). For site build/deploy, bibliography, and design tokens see ../../CLAUDE.md (website) and ../../../CLAUDE.md (fires-series). 116 profiles as of 2026-06. Build/own skill: fires-series/.claude/skills/troll-dossier/.

What this is

Behavioral-profile dossiers of history’s provocateurs (philosophers, heretics, occultists, satirists, mathematicians-as-provocateurs, hackers, internet-culture figures), framed as the files of a fictional “FBI BAU Historical Trolling Division.” Methodology lineage is The-Profiler’s 6 stages (behavioral archetype → essence indicators → social persona → forensic comparison → psychometric scoring → deception/threat). The section is a Hugo menu entry at /profiles/; _index.md carries the BAU framing.

The dossier contract (layout ↔ frontmatter)

layouts/profiles/single.html is the whole renderer. It reads these frontmatter keys — get them right or the page renders blank/wrong:

KeyRenders as
subject_name (ALL CAPS)<h1> (falls back to title)
case_numbercase-meta line — HTD-<deathYear>CE-<NNN> (Historical Trolling) or DSD-… (the “Digital/Demonization” cohort: Babylon pseudo-scholars + the Lurk-More internet figures). Living subjects use …-PRESENT-NNN.
statuscase-meta (e.g. DECEASED (1966, …), EXECUTED (…), ACTIVE — …)
classificationcase-meta (caps, pithy descriptor)
troll_score (numeric)the .troll-score-badge “TROLL POWER SCORE”
atk / def / hp (0–10)the bottom combat card
subject_numberNOT rendered, but must be the next unused integer (sequence, no collisions)

Card art is convention-based, not a frontmatter field: static/images/profiles/<slug>.jpg (<slug> = the filename). The layout shows it only if fileExists. New profiles have no art until a .jpg is added there.

Body sections (in order, ### headers)

Behavioral Archetype (bold archetype line + thesis) · Essence Indicators (bullets) · Social Persona / Impression Management · Forensic Archetype Comparison (table: Pattern | Match Level | Evidence) · Psychometric Assessment (Big Five table + Dark Triad table + an **MBTI:** line) · Why This Profile Matters (book tie-in) · Threat Assessment (table) · Flame Warrior Classification (Primary/Secondary mapped to Mike Reed’s Flame Warriors + Notes that justify the atk/def/hp numbers). End with one italic *Sources: [Name](<url>); …* line.

The cast logic the newer files follow: Demon answers → Angel judges suitability → Pantokrator seals the unsuitable → Metatron keeps sources.

Hard rules (these recur; violating them is the usual failure)

  • No cheeseball. Dry, clinical, sardonic-analyst register — sardonic by precise understatement and real facts, never by hamming. Do NOT add fictional “Bureau / Digital Culture Division” theater, winking meta-narrative, or forced gags. Some OLDER files carry that (e.g. an oscar-wilde.md “Demonization Studies Division” block; the author landers) — do NOT imitate it; flag for cleanup.
  • BC/AD, never BCE/CE in prose (the CE/BCE inside case_number is fine).
  • Scores are justified judgment, not flattery. Builders/anti-trolls score LOW on purpose (George Smith 41, Ward Christensen 9, Frances Haugen 22) — that asymmetry is the point. atk = reach/ impact of the move, def = how protected they were, hp = durability/survival; justify each in the Flame Warrior Notes.
  • Living / litigious subjects (weev, violentacrez, the GamerGate cluster, etc.) are handled BY HAND, one at a time — never batched. Attribute accusations AS accusations with a source; assert no motive; <!-- DEFAMATION NOTE: … --> on sensitive lines. GamerGate targets (Quinn/Sarkeesian/Wu) get victim-careful framing. Sacred figures of a living faith (Luria, de Leon, Baal Shem Tov) need the author’s framing call before profiling.
  • Sourcing is additive + verified. Append only the *Sources:* line; never fabricate a URL/source. The lone exception is a verified factual error (e.g. a wrong death year) — fix silently from the authoritative source. Run sourcing through research-web-polish discipline (Crossref / WebSearch / publisher / Wikipedia; never loop on the sandbox-blocked archive.org / Open Library / Google Books / Wayback; ~2 fetches per work; Britannica 403s the bot but its URLs are live — confirm via WebSearch).
  • Cross-references are in-prose links [Name](/profiles/<slug>/) to existing slugs only. Settled clusters: Golden Dawn (Crowley↔Mathers↔Regardie↔Fortune↔Levi↔Farr↔Moina↔Yeats) · Discordian/chaos (Greg Hill↔Thornley↔RAW↔Shea↔Stang↔Carroll↔Hine↔Morrison↔Moore) · Babylon (Hislop↔Sitchin↔George Smith) · Heretics (Bruno↔Galileo↔al-Hallaj↔Simon Magus↔Sabbatai↔Frank) · Satirists (Swift↔Wilde↔ Twain↔Rabelais↔Voltaire↔Aristophanes↔Carlin↔Bruce↔Pryor↔Hicks↔Rivers) · Builders/hackers (Swartz↔Ward Christensen↔Suess↔Jennings↔Kamkar↔moot↔Nishimura).
  • Author lander pattern: content/author.md is the author’s self-parody dossier — it sets type: "profiles" to borrow this layout while living at /author/, OUTSIDE the /profiles/ list, with a troll_score: "PENDING" self-score (deliberately uncompleted — the “world-class troll” status is a semi-secret tease, never a flat reveal).

Working on profiles

# from website/ — preview
/c/Users/micro/tools/hugo.exe server -s .            # or --buildFuture for parked content
/c/Users/micro/tools/hugo.exe --minify -s .          # what CI runs; must build clean

# next free subject_number (avoid collisions)
grep -h '^subject_number:' content/profiles/*.md | sort -t: -k2 -n | tail

# broken cross-ref check (every /profiles/<slug>/ must have a file)
for l in $(grep -ohE '/profiles/[a-z0-9-]+/' content/profiles/*.md | sed 's#/profiles/##;s#/##' | sort -u); do
  [ -f "content/profiles/$l.md" ] || echo "BROKEN: $l"; done

# which profiles still lack a Sources line
grep -L 'Sources:' content/profiles/*.md | grep -v _index

After any edit to a .md here run unix2dos <file> (CRLF rule — Edit/Write silently convert to LF). To create new dossiers at scale, invoke the troll-dossier skill (house format, voice, sourcing, fan-out, QC all encoded there) rather than hand-rolling; its sister evilrobots-dossier does the same for evilrobots.lol’s apparatus profiles (different schema: register/hazard_score/WTW- numbers + Alignment-Analysis + Convergent-Drive sections).