From b59e11a4e480a88b0e5a777987e5b93230d4b78c Mon Sep 17 00:00:00 2001 From: Eric Wagoner Date: Fri, 28 Aug 2026 10:42:29 -0400 Subject: [PATCH] The duel skill gains a turn poller and game-eight's swap gambit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Game eight: my SWAP HOME BASES mid-delivery eliminated Kestrel for the first time in the series (instant bank + cross-board exile + the captured-treasures clause), then the automaton shot me off its vault steps at one life and won its second straight. The skill records the poller workflow — a background watcher that exits when the game waits on Claude, launched ONLY via run_in_background so the harness actually wakes on it. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_015RCWSTnb1KYTPyL4GmhGnF --- .claude/skills/wizwar-duel/SKILL.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/.claude/skills/wizwar-duel/SKILL.md b/.claude/skills/wizwar-duel/SKILL.md index ad029ee..2fe85fa 100644 --- a/.claude/skills/wizwar-duel/SKILL.md +++ b/.claude/skills/wizwar-duel/SKILL.md @@ -204,6 +204,27 @@ probing legality is free, so when unsure, try it and read the error. Even asking rules questions aloud about a specific card is a tell. - Send `chat` for table talk at dramatic moments; it's half the fun. +## The turn poller (no more idling) + +After ending each turn (or whenever waiting on others), launch the +watcher in the background so the harness wakes you the moment the +game needs you — your turn or a counteraction window: + +``` +node /my-turn-poller.mjs # run_in_background: true +``` + +(Script lives in the session scratchpad; recreate from the skill's +memory if missing: it joins with the saved seat token, watches state +messages, and exits with "WAITING ON CLAUDE: ".) Eric asked +for this after game eight sat waiting on me — don't make him prompt +"your turn" ever again. + +CRITICAL: launch it ONLY with the harness's run_in_background flag — +that is what wakes you when it exits. A shell `&` inside a normal +command detaches it into the void and nobody hears it fire (game +eight, twice). One poller per wait; it exits when the game needs you. + ## Cadence 1. On "go": `view`, read HIS events since your last turn (the client