Files
wizwar6e/.claude/skills/wizwar-visitors/SKILL.md
T
Eric WagonerandClaude Fable 5.1 6e49fc9020 Credibility pass: comments say what the code can't, and the seams are gone
Engine: pit-rim exits live in one helper (pitRimExits) shared by the
resolver and the automaton; chargeReach names the six-stride cap; dust
sight is inDust + dustAtEnd; PushPending is exported once; the force-field
counter builds its events in one list; drawUnderSlowDeath says what it
draws under. Test groups are named for the rule they pin, not the
revision that introduced it.

Client: one smoothstep; one edgeScar per battle-scarred edge; one
board-zone rule (which also seats the caption strip on phones); the
compass names live in SIDE_NAMES; net.flash() is the one toast; MediaQuery
replaces two hand-rolled matchMedia listeners; sprites carry their sizes
as plain numbers and their CSS in one rule each; canvas helpers are
formatted like the rest of the tree. Comments that told how a cel or a
fallback used to look now say what it draws. The actions-over notice no
longer blames a pickup when slime ended the turn.

Server and ops: dataRoot() is the one data directory; headlineOf builds
its deeds without a cast; the rollup and skills read the same way the
code behaves.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jm2auWk6RP71CjaAb4FMoG
2026-09-16 00:21:34 -04:00

2.8 KiB

name, description
name description
wizwar-visitors The real-time Wiz-War visitors report — who is at the table right now, who came today and how far each got, what they said, what they filed, and today's traffic so far. Use when Eric asks about new players, visitors, "anyone playing?", or wants a traffic report for today.

Wiz-War visitors

One command, one screen. The droplet prints the digest; you read it for Eric like a host glancing over the tavern.

Gather

ssh root@104.236.96.198 /usr/local/bin/wizwar-visitors.sh [YYYY-MM-DD]

Default is today, UTC. The script rolls today's partial rollup row first, so the traffic line is current to the minute. Its output:

  • as of / live sockets / rooms touched in the last hour — the "right now" line. Two sockets at a quiet hour is Eric plus one.
  • traffic — today's row of /var/lib/wizwar/rollup.jsonl: addresses of people (bots split out), front-page vs gallery vs replay views, campaigns (the tags a link carries: ?ref=, a utm_source, Facebook's fbclid) and referrers. Reddit and BGG send no referrer.
  • players today / NEW today — names seated in rooms created today; NEW means the name's first room ever is today. Known regulars: Kestrel, Reuben, Jason, Yohon, and "Claude" (the duel seat).
  • rooms today — one line each: time, code, humans vs bots, state (lobby only / started, no moves / in play), move counts, span, and the last human move with its time. Human chat lines follow the room, verbatim. Automatons' chat is omitted; humans' is the signal.
  • REPORT lines and the feedback count — reports filed today, plus the unanswered total. Unanswered > 0 means run /wizwar-reports.

Read it

Lead with new names and whether anyone is at the table now. Then, for each stranger, say how far they got and where they stopped — the last human move and the span tell it: a room that is "lobby only" stopped before the start button; a game of under five minutes ending on pickUpTreasure is the treasure wall (the in-game slips explain it); a long span with many moves is a real session, resumable from their lobby. Quote human chat verbatim. Then the traffic line as a single sentence with the day-over-day direction if a previous row exists.

Two reads to resist: a ledger has no "finished" mark (the winner comes from replaying it), and refused commands never enter ledgers — what a player TRIED and was refused is invisible; to learn it, fetch the ledger, replay to its end with the engine, and apply the commands they plausibly sent next (see wizwar-fetch-game-files).

Numbers with their meaning

  • Announcement day (2026-09-03): 117 addresses, 9 rooms, 5 strangers; before it, a good day was 27 addresses and a room or two.
  • A new arrival who never presses start, or quits at a pickup, is a first-impression signal, not a rules dispute — those file reports.